Forum: Mikrocontroller und Digitale Elektronik LED über UART ein und ausschalten - Problem


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Samuel J. (capstrovor)


Bewertung
0 lesenswert
nicht lesenswert
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
von Roland .. (rowland)


Bewertung
0 lesenswert
nicht lesenswert
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.

von Fabian (Gast)


Bewertung
0 lesenswert
nicht lesenswert
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');

von Samuel J. (capstrovor)


Bewertung
0 lesenswert
nicht lesenswert
super danke jetzt passt es!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.