Zitat Zitat von Lunarman
Woher weiß er, welches Beinchen er bei welchem Befehl nehmen muss?
*schmunzel* irgendwo in dem AVR gibt es ein Register, da sind alle 8 Bit direkt mit 8 bestimmten Beinchen draußen verbunden.
Also z.B. die Haxen PD0 - PD7 hängen einmal an den InputBits vom (Port)Register PIND. dort kann man sie mit einem Programm dann lesen.
die gleichen Haxen hängen aber auch noch auf den Outputbits vom (anderen) Register PORTD, über das kann man was rausschreiben.
und dann ist noch ein Register DDRD, da wird umgeschaltet, ob rein oder raus.
Im AVR drinnen sind alle Register numeriert, von 0 bis juchuu.
Ist ein Befehl grad dran, der "IN 12345" heißt (auf AVR-isch natürlich)
dann schnappt er das, was bei ihm an der adresse 12345 grad steht.
Und, oh wunder, das ist grad zufällig das register PIND
Und so weiss nun auch das Programm (also du) was draussen auf den Beinchen grad für eine Spannung anliegt. Dabei läßt er alle fünfe grad sein und sagt, isses weniger wie ~3 Volt, isses NULL, sonst eben ein 1-er