Hallo! Ich habe einen Atmega644 und möchte mit diesem eine LED an bzw. ausschalten. Die LED befindet sich in einem Schaltkreis der mit PINC1 und dem GND des MCs verbunden ist. Nun meine Frage: Reicht es um die LED einzuschalten, den Ausgang PINC1 auf 1 zu setzen? Oder muss ich, so wie ich es mal gelesen habe, aber irgnedwie für unlogisch halte, das ganze etwa auf 0 setzen? Im Tutorial habe ich sowas hier gesehen: PORTB ^= ( 1 << PB0 ); Was genau soll das eigentlich bedeuten? Dankeschön! Wimme
Wimme wrote: > Ich habe einen Atmega644 und möchte mit diesem eine LED an bzw. > ausschalten. Geht. > Die LED befindet sich in einem Schaltkreis der mit PINC1 und dem GND des > MCs verbunden ist. Hoffentlich mit einem Vorwiderstand im Schaltkreis zur Strombegrenzung. http://www.mikrocontroller.net/articles/LED#Vorwiderstand > Nun meine Frage: > Reicht es um die LED einzuschalten, den Ausgang PINC1 auf 1 zu setzen? Kommt darauf an, wie die LED angeschlossen ist. Wenn sie Pin Vorwiderstand LED ---+--------###----------->|--------+ GND Angeschlossen ist, muss der Pin eine positive Spannung liefern, um die LED zum leuchten zu bringen. Dann stimmt deine Vermutung bzgl. des Ausgangspegels (HIGH, 1). Zusätzlich muss der Portpin auch noch als Ausgang konfiguriert werden. http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Datenrichtung_bestimmen > Im Tutorial habe ich sowas hier gesehen: > PORTB ^= ( 1 << PB0 ); > Was genau soll das eigentlich bedeuten? Anweisungen dieser Art nimmt man, um Bits in einer Zahl zu toggeln, d.h. 1 in 0 umzuwandeln und 0 in 1. Nützlich beim Blinken einer LED... Erklärungen stehen im Artikel Bitmanipulation bzw. die Operatoren ^ und << sind in allgemeinen C-Lehrbüchern erklärt.
Hallo Wimme, 1. Du musst zwischen µC und LED einen Vorwiderstand von ca. 1k einbauen. 2. Du musst das Datenrichtungsregister für den Portpin auf "1" setzen. 3. Wenn die LED zwischen Portpin und Masse liegt, ist PC1 = "1" LED ein. Otto
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.