Hallo, ich habe derzeit 3 Leds an PORTA0-3 angeschlossen. Beschrieben haben ich diese mit PORTA = i; // i= 0...7 Nun muss ich Leds auf die letzten 3 Pins verschieben, da ich die Funktionen der anderen Pins benötige. Wie geht es nun am einfachsten, dass ich mit den Wert 0-7 nur die letzten 3 Pins anspreche?
Pumba schrieb: > ich habe derzeit 3 Leds an PORTA0-3 angeschlossen. Das dürfte schwierig gewesen sein, drei LEDs an vier Ports ....
Könnte hinhauen. Wie hast du vorher PORTA-3..7 vor Veränderung bei der LED- Ausgabe geschützt? Das musst du jetzt natürlich für PORTA-0..4 veranstalten.
Pumba schrieb: > LED_PORT = i<<5; Wenn Du es so machst kannst Du die anderen PortBits kaum für was anderes verwenden, da Du sie alle immer auf Null setzt.
LED_PORT = (LED_PORT & 0x1f) | newdata << 5; sonst führt ein normales OR früher oder später zu Dauerleuchten der LED's.
Besser: PORTA = (PORTA & 0x1F) | (i<<5); Sonst lässt sich eine 1 an PORTA-5..7 nicht mehr zurücksetzen.
Würde behaupten, so reicht es leider nicht aus. Muss ich doch wohl eine eigene Logik einbauen?, wann welche Led leuchtet?
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.