Forum: Mikrocontroller und Digitale Elektronik Doppelfunktion der Pins


von Sebastian (Gast)


Lesenswert?

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

von Spess53 (Gast)


Lesenswert?

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

von Johannes M. (johnny-m)


Lesenswert?

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").

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

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.

von Johannes M. (johnny-m)


Lesenswert?

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
Noch kein Account? Hier anmelden.