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