Forum: Compiler & IDEs Eingänge funktionieren nicht


von Dieter Winter (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

Ich bin dabei mich mit C in CodeVision und die programmierung von AVRs
einzuarbeiten.
Im moment arbeite ich mit einem 90S4433. Die Ausgänge ( bei mir PORTB
)
zu setzten mit Delayfunktionien etc. ist kein Problem.
Doch irgendwie wollen meine Eingänge nicht !
Ich möchte einfach einmal hinbekommen meinem Controller zu sagen, "
wenn ich Taster S1 drücke ( PORTD.0 ) dann soll LED1 an ( PORTB.0 )
angehen.
Dies wollte ich einfach mit der "if" funktion machen.
Doch wieso geht das nicht?
Ich bekomme beim assemblern immer folgende Meldung:
"WARNING: possibly incorrect assignment" in der Zeile :
"if (PORTD.0 = 0)".
Kann mir da jemand helfen? Quelltext im anhang !

Vielen Dank

von bla (Gast)


Lesenswert?

= :Zuweisung
== :Vergleich

von Dieter Winter (Gast)


Lesenswert?

Danke, okay keine Warnung mehr. Hääte mir elber auffallen können.
Doch leider Leuchtet nun die LED konsequent und reagiert auf meinen
Tastendruck überhaupt nicht.

Gruß.

von bla (Gast)


Lesenswert?

Ich sehe gerade:

Zum einlesen musst du PIND nehmen!!

von Dieter Winter (Gast)


Lesenswert?

Also nun hab ich es so versucht :
PORTB = 0xFF;   // alle LEDs abschalten

     if (PIND.0 == 0)
         PORTB.0 = 1;

Doch leider Leuchten hier alle LEDs ständig und der 4433 wird sehr sehr
heiß :)
Hatte ich schonmal. Er geht aber noch ! glück gehabt :)
Kann doch nicht so schwer sein das hinzukriegen.

Gruß

von Walter (Gast)


Lesenswert?

du solltest die Abfrage in einer Schleife machen,
so rennst du nur ein Mal durch, da kommst du mit Tastendrücken gar
nicht hinterher

Walter

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
Noch kein Account? Hier anmelden.