PORTx und DDRx - Programmierung

Gast #5308684
Lesenswert?

Hallo,

ich habe folgende Aufgabenstellung:

gegeben ist ein Controller mit LEDs dran und wenn ich z.B. Button A 
drücke, dann leuchten nur die letzten drei LEDs und bei Button B 
unterschiedlich.
Mein Programm muss so aussehen:

int main(void){
   PORTA = 0b10101100;
   PORTB = 0b00000111;

   DDRA  = ________;
   DDRB  = ________;

while(1)  {

   if( _____ ) {
   PORTA = __________________________;

} }  }


Da wo "_____" muss ich das entsprechende eintragen. Meine Frage ist, ob 
das so richtig ist:

DDRA = 0b11111111;
DDRB = 0b00000111;

if( i < 9 )
PORTA = ((PINB & 0b00000111) | (PINB & 0b10101100));



Vielen Dank im Voraus!
Gast #5308692
Lesenswert?

Jim M. schrieb:
> Schaltplan, bitte. Wir sehen nicht wo was wie angeschlossen ist.
>
> Sowohl Buttons als auch LEDs könnten aktiv high oder  aktiv low
> geschaltet sein.



Weder Schaltplan noch sonst irgendwas ist gegeben. Ich habe die Aufgabe 
genauso bekommen. LEDs sind aktiv High bei 1 aber an sich LOW.
Deswegen auch die Frage, weil ich nicht weiß wie man es lösen soll

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren