Hi Leute,
ich stehe auf dem "Schlauch". Versuche KNX Telegramme über "serialEvent" auszuwerten.
Ich bekomme nur "TPUART_RESET_INDICATION" und "UKNOWN" Events aber nie ein "KNX_TELEGRAM".
Hier der Quellcode:
Was habe ich da übersehen?
Gruß Sepp
ich stehe auf dem "Schlauch". Versuche KNX Telegramme über "serialEvent" auszuwerten.
Ich bekomme nur "TPUART_RESET_INDICATION" und "UKNOWN" Events aber nie ein "KNX_TELEGRAM".
Hier der Quellcode:
Code:
#include <SoftwareSerial.h> #include <LiquidCrystal.h> #include <KnxTelegram.h> #include <KnxTpUart.h> KnxTpUart knx(&Serial, 15, 15, 20); LiquidCrystal lcd(12, 11, 6, 5, 4, 3); void setup() { Serial.begin(19200); UCSR0C = UCSR0C | B00100000; knx.uartReset(); lcd.begin(16, 2); lcd.setCursor(0, 0); lcd.print("Bereit!"); } void loop() { } void serialEvent() { KnxTpUartSerialEventType eType = knx.serialEvent(); if (eType == TPUART_RESET_INDICATION) { //lcd.setCursor(0, 0); //lcd.print("Event TPUART_RESET_INDICATION"); } else if (eType == UNKNOWN) { //lcd.setCursor(0, 0); //lcd.print("Event UNKNOWN"); } else if (eType == KNX_TELEGRAM) { //lcd.setCursor(0, 0); //lcd.print("Event KNX_TELEGRAM"); KnxTelegram* telegram = knx.getReceivedTelegram(); String target = String(0 + telegram->getTargetMainGroup()) + "/" + String(0 + telegram->getTargetMiddleGroup()) + "/" + String(0 + telegram->getTargetSubGroup()); lcd.setCursor(0, 0); lcd.print(target); } }
Gruß Sepp
Kommentar