Forum: Mikrocontroller und Digitale Elektronik Doppelte Portbelegung?


von Johannes S. (johannes_s58)


Lesenswert?

Guten Abend zusammen!

Ich bin noch ein unerfahrener Neuling und habe Angst um meinen ATmega8.
Folgendes:
Nach dem Tutorial habe ich einen Quarzoszillator an XTAL1 (PB6) 
angeschlossen und natürlich dem Programmer auch mitgeteilt, dass hier 
eine "external clock" anliegt. Nun steht jedoch in einem weiteren 
Tutorial der Code
1
ldi r16, 0xFF       ; lade Arbeitsregister r16 mit der Konstanten 0xFF
2
out DDRB, r16 ; als ausgaenge beschalten
3
...
4
ldi r16, 0b11111100 ; 0b11111100 in r16 laden
5
out PORTB, r16      ; r16 ins IO-Register PORTB ausgeben
Jetzt ist die Frage, was passiert mit meinem Takt?
klappt sowas oder muss ich darf ich in ln.2 den PB6 nicht als Ausgang 
belegen? Was passiert, wenn ich es als GND-Ausgang belege? Zieht er dann 
meinen Takt auf GND??? Oder wird der Ausgang dann ganz getrost 
ignoriert?

Bzw. mit PC6 (am RST) sieht es ja genauso aus - wenn ich XTAL1 und RST 
auch als diese verwenden möchte und die Fuses entsprechend einstelle, 
darf ich dann von den Pins lesen oder darauf schreiben?

Danke im Voraus
mfg Johannes S.

ps: Falls ich einen Beitrag nicht gesehen habe, wo das schon geklärt 
wurde, nicht böse sein - ich weiß partout nicht, wonach ich hier suchen 
soll...

von asdcvb (Gast)


Lesenswert?

Johannes S. schrieb:
> Oder wird der Ausgang dann ganz getrost
> ignoriert?
genau das

von hdd (Gast)


Lesenswert?

Hi,

sowas steht im Datenblatt. In deinem Fall unter "Alternate Functions of
Port B":
"XTAL1: Chip clock Oscillator pin 1. Used for all chip clock sources 
except internal calibrated RC Oscillator. When used as a clock pin, the 
pin can not be used as an I/O pin."
"If PB6 is used as a clock pin, DDB6, PORTB6 and PINB6 will all read 0."
Und das selbe auch nochmal für XTAL2.

Das heißt sobald du deinen AtMega auf externen Takt einstellst, werden 
die beiden Pins bei allen anderen Operationen aus Ein- oder Ausgänge 
ignoiert. Du kannst also in die zugehörigen Bits der Register schreiben 
was du willst.

von Johannes S. (johannes_s58)


Lesenswert?

hdd schrieb:
> When used as a clock pin, the
> pin can not be used as an I/O pin

Den Teil hatte ich sogar schonmal gelesen und hatte den Rest wohl 
überlesen =(

Aber vielen, vielen Dank für die schnelle Hilfe!!

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.