Gast
#326120
Hi! Ich programmiere in C uC ist der ATMEGA128 Eine kurze Frage: Nach dem Reset setzte ich einen Port als Ausgang. Sind in diesem Ausgenblick alle Portpins High oder Low?
|
Anzeige
|
Portpins High oder Low nach Reset und DDR-Definition?
Gast
#326120
Hi! Ich programmiere in C uC ist der ATMEGA128 Eine kurze Frage: Nach dem Reset setzte ich einen Port als Ausgang. Sind in diesem Ausgenblick alle Portpins High oder Low?
Gast
#326121
Hallo, nach einem Reset sind die DDRx- und Portx-Register hardwaremäßig (d.h. ohne daß der Compiler was dafür tun muß) auf Null initialisiert. Durch Setzen der Bits im DDRx-Registers werden die entsprechenden Pins sofort auf Low durchgeschaltet. Will man dieses Low vermeiden (z.B. für low-aktive Datenleitungen), dann läßt man DDRx erstmal auf Null und schaltet zuerst die betreffenden Portx-Bits auf High, damit werden die internen Pullups aktiviert, und die Pins gehen über diesen Pullup quasi nach High (sofern keine große Last dranhängt). Setzt man anschließend DDRx, gehen die betreffenden Pin dann niederohmig nach High. MfG Olaf
Gast
#326122
Danke für die ausführliche antwort! :-D Antwort schreiben |
Anzeige
|