Ich habe dieses Wochenende angefangen mich mit dem Atmel, at90s8115, zu beschäftigen. Ich habe acht LEDs, gemäss der Beschreibung AVR-Tutorial - 2. I/O-Grundlagen angeschossen, also Kathode der LEDs an den Ausgang des Port A, und über die Widerstände gehts an VCC. Dann habe ich folgendes Testprogramm mit AVR-GCC geschrieben: DDRA=0xFF (Port A auf Ausgang) und alle Bits gesetzt mit PORTA=255. Nach dem Ausführen des Programms gehen alles LEDs aus, und wenn ich PORTA=0 schreibe gehen alle LCDS an. Also genau umgekehrt wie ich mir das denke - Warum ???
Du schreibst ja selbst: Du hast ein Ende der LEDs an VCC, also +5V angeschlossen. Wenn Du die Port-Pins nun mit PORTA=255 high schaltest, gehen sie auf ca. +5V und Deine LEDs folglich aus. PORTA=0 schaltet die Pins auf ca. 0V.
Ganz einfach. Wenn der Ausgang auf low geht, leuchtet die LEDs, weil sie dann an VCC und über den Controller an GND angeschlossen ist. Geht der Ausgang auf high, leuchtet sie nicht, weil beide Anschlüsse auf VCC liegen und daher kein Strom fließen kann. wenn du die LEDs über einen Widerstand mit der Anode an den Ausgang legts und die Kathode an GND, dann ist es genau andersherum: Port auf high --> LED leuchtet, Port auf low --> LED leuchtet nicht. Gruß
Vielen Dank, darüber habe ich mir seit vergangen Freitag den Kopf zerbrochen. Jetzt ist mir das schon klar.
Beitrag #7320721 wurde von einem Moderator gelöscht.
Beitrag #7320723 wurde von einem Moderator gelöscht.
Beitrag #7320725 wurde von einem Moderator gelöscht.
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.