HAllo, ich habe eine Mega128 und habe nun die UART so programmiert, dass diese die Empfangenen Zeichen in ein Array speichert. Wenn 3 Zeichen empfangen sind sollen diese ausgewertet werden. Jenachdem welche Zeichen empfangen wurden soll der uC etwas tun. Soweit funktioniert das auch empfangen --> speichern --> prüfen. Ich möchte nur eine Zeichenfolge 012 senden. Laut Ascii Tabelle sieht das ja so aus: Zeichen Hex Wert empfangene Werte uC 0 0x30 0x03 1 0x31 0x13 2 0x32 0x23 Wenn ich nur die Werte im Arry vergleiche ist das Ergebnis ja falsch da die empfangen Werte mit den zu prüfenden Werte ja nicht übereinstimmen. Wo liegt mein Denkfehler komme nicht dahinter. Danke TOM
> Zeichen Hex Wert empfangene Werte uC > 0 0x30 0x03 > 1 0x31 0x13 > 2 0x32 0x23 > > Wenn ich nur die Werte im Arry vergleiche ist das Ergebnis ja falsch da > die empfangen Werte mit den zu prüfenden Werte ja nicht übereinstimmen. > > Wo liegt mein Denkfehler komme nicht dahinter. Wie kommst du darauf, dass der µC die Werte als 0x03, 0x13 und 0x23 empfängt?!?
Faszinierend... mit was sendest Du die Zeichen? Wie findest Du den falschen Wert heraus?
@Magnus da ich die empfangene Wert mit
1 | Input[counter] = UDR0; |
in das Array schreibe und dann den Arrayinhalt mit
1 | PORTC = Input[counter]; |
auf dem Port anzeigen lasse und dieser zeigt nach dem senden von einer '0' den Wert 0x03 an Gruß TOM
@Chrisi, sende mit Realterm Register Send und dann Button 'Send ASCII' Hat mit meinem alter 08C517A immer funktioniert Gruß
Versuch doch mal an Port C gezielt ein 0x00 auszugeben
1 | PORTC = 0; |
Was passiert dann? ... Und was passiert, wenn du an Port C gezielt ein 0x5A ausgibst?
1 | PORTC = 0x5A; |
Gruß, Magnetus
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.