Forum: Mikrocontroller und Digitale Elektronik ATMega32 verhalten bei Reset


von Cosimo (Gast)


Lesenswert?

Hallo.
Ich dachte bisher, dass beim Reset alle I/O Pins auf low geschaltet 
werden.
Da dachte ich wohl falsch.
Das Datenblatt sagt: "During Reset, all I/O Registers are set to their 
initial values, and the program starts execution
from the Reset Vector."

Was ist mit "initial values" gemeint? Meine init(), die ich zum 
Programmstart aufrufe?

Was ich vorhabe:
Ich möchte, dass währende des Reset/Flashen alle I/O Pins low 
geschalltet werden, da ich ein über einen Timer multiplexe, der im 
Restfall anhält. Das mögen allerdings meine LED's nicht so gerne.

Wie könnte man das realisieren?

von Peter (Gast)


Lesenswert?

alla IO sind als eingang geschaltet, damit weder low noch high. Also 
alle DDR*, Port*, Pin* = 0

von Floh (Gast)


Lesenswert?

Cosimo schrieb:
> Was ist mit "initial values" gemeint? Meine init(), die ich zum
> Programmstart aufrufe?

Im Datenblatt stehen zu jedem Register Init-Werte (Startwerte).
Die I/Os sind im REsetstatus auf tristate (hochohmig).
:-)

von Cosimo (Gast)


Lesenswert?

Floh schrieb:
> Die I/Os sind im REsetstatus auf tristate (hochohmig).

Am Port c habe ich 8x IRLU 024N MOSFETs angeschlossen (1kOhm 
vorwiderstand)
im Resetfall schalten sie aber nicht (immer) ab.

Das heißt ich muss einen hochohmigen Widerstand vom Gate auf GND legen? 
oder? Dann schaltet mein MOSFET ab?
Wie groß müsste der Widerstand sein?

von Chris L. (kingkernel)


Lesenswert?

Nimm 10k gegen GND, das isn üblicher Pull-Down-Widerstand.
Wenn du auf Stromverbrauch achten musst, kannst du es auch mit 100k 
versuchen!

von Cosimo (Gast)


Lesenswert?

Alles klar. Ich bedanke mich.

Ging ja kurz und schmerzlos ;-)
Bis zum nächsten mal.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.