Forum: Mikrocontroller und Digitale Elektronik Gibt es sowas wie Konfigurationsprioritäten?


von Michael B. (planlessmichi)


Lesenswert?

Hallo Spezialisten ;o)

Mag sein, dass das jetzt peinlich wird, aber ich weiß das tatsächlich 
nicht und kann nur Vermutungen anstellen, weil anscheinend noch niemand 
so (blöde) Ideen hatte und diverse Suchmaschinen daher - zumindest auf 
meine Suchbegriffe - keine Ergebnisse liefern.

Frage: Bei den AVRs können ja viele PINs mehrere Funktionen haben 
(Eingang, Ausgang, ADC, PWM, ...).
Was mich jetzt interessiert ist, was passiert, wenn man (aus Versehen) 
während des Betriebs eine Funktion umschaltet?
Beispiel: Ein Ausgang wird beim Start so konfiguriert, dass er im 
(HW-)PWM-Modus läuft; der Timer wird konfiguriert und der PIN toggelt 
schön brav. Was ist jetzt aber, wenn man das DDRx des PINs setzt und den 
PIN als Ausgang konfiguriert? Ist das dann auch sofort ein Ausgang (mit 
HIGH oder LOW-Pegel oder was auch immer gerade beim PWM aktuell war) 
oder gibt's da einen Reset oder oder oder? Und wenn das Ding wirklich 
dann ein Ausgang ist: Was passiert mit dem Timer? Läuft der dann noch 
oder beendet der sich dann auch automatisch? Gibt es also sowas wie eine 
"Konfigurationspriorität" (ich weiß, blödes Wort :-)) oder muss man - um 
bei dem Beispiel zu bleiben - zuerst den PWM deaktivieren / beenden und 
kann dann DDRx PORTx etc. benutzen (um evtl. keinen RESET auszulösen)?

Wie sieht das auch umgekehrt aus? Wenn ein Port ein Eingang ist und dann 
als PWM konfiguriert wird. Schlimmes Beispiel (falls es so einen AVR 
gibt): Ein Pin, der einen PinChange-Interrupt auslösen kann, wird 
plötzlich mit PWM betrieben.... Bekomme ich dann laufend die Interrupts, 
weil sich der PIN-Status ändert (nur halt nicht von extern, sondern der 
Lümmel macht das bereits intern...)?

Ich hoffe, ich habe meine kranken Gedanken etwas erklären können und 
würde mich freuen, wenn da schon jemand Erfahrungen mit so einer 
"Fehlkonfiguration" gemacht hat.

von Bernhard R. (barnyhh)


Lesenswert?

Werden die Portkonfigurationen auf irgendeine Art verriegelt? Nein!

Ergebnis:
Wer zuletzt kommt, gewinnt.

Bernhard

von guest (Gast)


Lesenswert?

Im Datenblatt ist immer die jeweilige Logik zur Pin-Funktion, mit den 
betreffenden Konfigurationsregistern angegeben. Da kann man dann ganz 
einfach nachschauen was passiert.

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.