Neuling schrieb:
>>Schreib doch einfach
>>DDRD = ((1<<TX)|(1<<K1LED)|(1<<K2LED)|(1<<TLED));
> so hab ich ja nur die Ausgänge auf dem Port.
Allenfalls ist immer noch
1 | DDRD = ((1<<TX) | (1<<K1LED) | (1<<K2LED) | (1<<TLED) | (0<<SYNC) | (0<<RX));
|
möglich.
Das Problem daran: Es geht da ein wenig unter, dass bei SYNC und RX ein
'Trick' benutzt wird (0 kann man schieben so oft man will, es bleibt
trotzdem 0) und dieser Trick in der Optik etwas untergeht. Mit ein wenig
optischem Pimpen kann man das etwas entschärfen
1 | DDRD = ((1<<TX) | (1<<K1LED) | (1<<K2LED) | (1<<TLED) | // Output
|
2 | (0<<SYNC) | (0<<RX)); // Input
|
Aber es ist immer noch allemal leichter zu lesen als deine Variante, bei
der man erst mal mühsam die Klammern auseinander klamüsern muss um
a) festzustellen, ob du alles richtig gemacht hast
b) festzustellen, was du da eigentlich gemacht hast
> ich finde die schreibweise für mich einfach übersichtlicher
Tja. Jeder hat das Recht dazu, sich selbst die Schreibweise so zurecht
zu legen, dass er am Anfang möglichst oft in Fallen tappt.