Huhu, ich bin totaler Anfänger und habe einige Verständnisschwierigkeit. Die Pins haben ja zum einen die Funktion eines einfachen Anschlusses von Peripherie (eine LED zb als einfachstes Beispiel). Zum anderen besitzt jeder Pin eine Sonderfunktion (die der Ports). Ich besitze einen ATMega16. Was hat jetzt zb Timer1 mit OC1a und OC1b zu tun? Kann ich den Timer 1 auch im CTC-Modus verwenden ohne diese Pins irgendwie zu besetzen? Ist es möglich manche Pins eines Portes als Anschluss für Peripherie und andere in ihrer Sonderfunktion zu verwenden? danke für die Hilfe
Hi Auf deine letzte Frage: Ja. Allerdings werden dir Sonderfunktionen unterschiedlich aktiviert. Bei einigen (z.B. UART) werden die PortPins automatisch konfiguriert. Die Funktion der OCxx-Pins werden andererseits über die entsprechenden Timer-Register festgelegt. Da hilft nur intensives Studium der Datenblätter. MfG Spess
Spess53 wrote: > Die Funktion der OCxx-Pins werden andererseits > über die entsprechenden Timer-Register festgelegt. Nö, gerade das nicht. Die Timer-Ein- und Ausgangspins müssen über die PORT-Konfigurationsregister (DDRx) entsprechend konfiguriert werden. Das geschieht nicht durch die Timer-Konfiguration. Beim U(S)ART z.B. wird das hingegen (wie Du ja auch richtig gesagt hast) durch das Einschalten des U(S)ART automatisch gemacht, also der RxD-Pin wird automatisch zum Eingang und der TxD zum Ausgang ("Overriding Port Functions").
Johannes M. wrote: > Nö, gerade das nicht. Die Timer-Ein- und Ausgangspins müssen über die > PORT-Konfigurationsregister (DDRx) entsprechend konfiguriert werden. Das > geschieht nicht durch die Timer-Konfiguration. Beides. Du kannst einen OCx-Pin als Ausgang konfigurieren und trotzdem als normalen IO-Pin benutzen. Lediglich der Umkehrschluss trifft zu: wenn die Timerkonfiguration ihn als OCx-Pin benutzen will, dann muss er auch als Ausgang konfiguriert worden sein.
Jörg Wunsch wrote: > Johannes M. wrote: > >> Nö, gerade das nicht. Die Timer-Ein- und Ausgangspins müssen über die >> PORT-Konfigurationsregister (DDRx) entsprechend konfiguriert werden. Das >> geschieht nicht durch die Timer-Konfiguration. > > Beides. Du kannst einen OCx-Pin als Ausgang konfigurieren und trotzdem > als normalen IO-Pin benutzen. Lediglich der Umkehrschluss trifft zu: > wenn die Timerkonfiguration ihn als OCx-Pin benutzen will, dann muss > er auch als Ausgang konfiguriert worden sein. Das war das, was ich damit meinte. Es gibt einige Funktionen, die die Einstellungen in DDRx und PORTx "overriden" (eben z.B. UART-Rx und -Tx) und andere, bei denen das nicht geschieht (z.B. Timer-I/Os). Welche das im einzelnen sind, muss man dem Datenblatt entnehmen. Steht i.d.R. im Abschnitt "I/O Ports" unter "Alternate Port Functions".
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.