Forum: Mikrocontroller und Digitale Elektronik ATMega32 initialisieren


von Michael (Gast)


Lesenswert?

Hi @ all

Ich habe einen ATMega32 und verwende den Open Source Compiler, der in
Tutorial empfohlen wird. Nun zu meiner Frage:

1. Ich möchte 29 von 32 Ports verwenden. Wie muss ich die
Initialisierung machen, damit es keine Probleme mit der Doppelbelegung
der Ports gibt? (Die Ports können z.B. für AD-Wandler und RS232
verwendet werden, dies möchte ich aber nicht) Ich weiß, das man mit dem
Datenrichtungsregister die Richtung festlegt, gibt es aber noch andere
Register, die ich einstellen muss, damit es ganz "normal Ports" sind,
über die ich Signale ausgeben und einlesen kann?

Grüsse

Michael

von inoffizieller WM-Rahul (Gast)


Lesenswert?

>gibt es aber noch andere Register

ja, aber wenn du die Ports nur als IO-Pins benutzen willst, brauchst du
dich darum nicht kümmern.
Schon mal die Tutorien hier auf der Seite angeguckt?

von Marian (Gast)


Lesenswert?

Das hängt von den jeweiligen Ports ab. Wenn sie für bestimmte Funktionen
  vorgesehen sind musst du diese erst deaktivieren bevor du sie als
normale Ports nutzen kannst. Ein Beispiel: Wenn das JTAG interface
enabled ist, kannst du die Pins PC5,PC3 und PC2 nicht als normale
Ausgänge nutzen. Um dies zu tun musst du erst das JTAG interface
disablen. Es gibt auch noch andere Pins bei denen man aufpassen muss.
Das steht alles im Datanblatt des Atmega32. Guck es dir mal an :)

Gruß,

Marian

von johnny.m (Gast)


Lesenswert?

Das JTAG-Interface ist die einzige Hardware-Komponente beim Mega32, die
defaultmäßig aktiv ist und Pins belegt. Das JTAG-Interface muss also
erst (durch entsprechendes Setzen der Fuses) deaktiviert werden, um die
Pins an Port C zur allgemeinen Nutzung freizugeben. Alle Pins sind
General Purpose I/Os, die zur allgemeinen Verfügung stehen, solange
nicht eine Hardware-Komponente auf sie zugreift. Wenn die
Hardware-Komponenten (z.B. USART) nicht aktiviert werden, gibt es da
auch keine Probleme.

Kleine Begriffserklärung:
Ein Port ist nicht gleich einem Portpin! Der Mega32 hat 4 8-Bit-Ports
mit insgesamt 4*8 = 32 Portpins.

von Michael (Gast)


Lesenswert?

Oh schon mal danke. Habe die Leitungen vom JTAG-Interface mit
verwendetet. Bis jetzt habe ich vor den µP über SPI zu programmieren.
Gehört der SPI auch zu den Portpins, die deaktiviert werden müssen,
damit sie als "normale Portpins" verwendet werden können?

von johnny.m (Gast)


Lesenswert?

Nein, eigentlich nicht. Man muss nur darauf achten, dass an diesen Pins
nichts angeschlossen wird, was das Programmieren stören kann (z.B.
keine LEDs o.ä., Taster sind hingegen i.d.R. kein Problem). Wenn es
nicht anders geht, dann muss man dafür sorgen, dass die angeschlossenen
Komponenten zumindest beim Programmieren abgeklemmt werden können (z.B.
durch Jumper).

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.