Hallo,
warum funktioniert der folgende Code nicht. Also mit nicht funktionieren
meine ich, das in keine case-Anweisung gesprungen wird.
char byte_1;
...
switch(byte_1)
{
case 0x10:LED = 1;
break;
case 0x20:LED = 1;
break;
default: LED = 1;
}
Die LED geht nie an. Warum?
Gast
#1616017
Ich vermute, die LED ist kaputt xD Zeig mal den kompletten Code, der Ausschnitt bringt nicht viel.
oder falschrum reingesetzt, oder nicht gegen Masse sondern +5V gelegt, ...
Gast
#1616022
vielleicht optimiert der compiler es ja zu LED = 1; damit gibt es kein switch mehr.
NE die LED funktioniert bestens mit LED = 0; und LED = 1; Das ist nicht das Problem. Ich dachte das ich evtl. nen Fehler in der switch-Anweisung habe, evtl mit char und 0x10 oder so.
Dann wird vielleicht das switch gar nicht erreicht, oder die LED gleich danach zu 0 gesetzt. Die paar Zeilen oben jedenfalls sehen nicht verdächtig aus und machen dasselbe wie LED=1.
Gast
#1616063
Na der Fehler is doch offensichtlich! Schau dir mal Zeile 42 genauer an.
Gast
#1616064
Matthias Laubnitz schrieb: > switch(byte_1) > { > case 0x10:LED = 1; > break; > case 0x20:LED = 1; > break; > default: LED = 1; > } > > Die LED geht nie an. Warum? Unabhängig davon, welchen Wert "byte_1" hat, wird mit deinem Code der Variable "LED" immer der Wert "1" zugewiesen. Gruß, Magnetus
Ok lassen wir das an dieser Stelle. Ich poste morgen mal den gesamten Code. Sorry aber ich habe ihn heute nicht da. Vielen Dank für die ersten Tips
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.