Hallo
OKDann ergibt: ((1 << PD4) | (1 << PD5)) 00110000
Falsch. Es wird PORTD in eine temp. Variable gespeichert, mit dem negierten 0011 0000 UND verknüpft ergibt --> 0000 0000 .Dies mit PORTD &~ verknüpft ergibt
PortD 00100000
Also temp = PORTD , TEMP = TEMP AND 11001111 --- > temp = 0
Jetzt wird temp mit left_dir ODER Verknüpft und dann wieder auf PORTD ausgegeben.
Also werden die Bits PD4 & PD5 immer gelöscht und entsprechend von Wert left_dir oder right_dir gesetzt.
Normalerweise sollte der Wert von left_dir = 0010 0000 sein und von right_dir = 0001 0000 sein oder umgekehrt.
MFG
Dieter
Lesezeichen