Hallo ich versuche gerade eine LED über den UART ein und auszuschalten. Dazu sende ich mit putty eine 1 oder eine 0 Code: #include "Klingler-Lib.h" int main() { InitPort(PB, OUTPUT); InitUART(); uchar cByteBuffer[2]; WriteUARTString("UART Ready \n\r"); while(1) { while (UARTAvailable ()<1); cByteBuffer[0] = ReadUARTByte(); //if(cByteBuffer[0] == '0') WritePortPin(PB, 0, cByteBuffer[0]); //if(cByteBuffer[0] == '1') WritePortPin(PB, 0, cByteBuffer[0]); cByteBuffer[1] = 0; WriteUARTString(cByteBuffer); WriteUARTString("\n\r"); } } so funktioniert es nicht. Wenn ich aber die kommentarzeichen bei der if bedingung weglasse, geht es. Wieso funktioniert es mit kommentarzeichen nicht? mfg
:
Bearbeitet durch User
Erwartet "WritePortPin" nicht 1 oder 0 als Wert? Du übergibst aber das UART-char, also ein ASCII-Zeichnen, das ist sogesehen immer true, also 1.
Samuel J. schrieb: > //if(cByteBuffer[0] == '0') > WritePortPin(PB, 0, cByteBuffer[0]); > > //if(cByteBuffer[0] == '1') > WritePortPin(PB, 0, cByteBuffer[0]); Mach daraus: WritePortPin(PB, 0, cByteBuffer[0] - '0');
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.