Forum: Mikrocontroller und Digitale Elektronik Ports ansprechen, die es nicht gibt


von Martin (Gast)


Lesenswert?

Cool!
Ich habe heute mein erstes funktionierendes Mikrocontroller-
Programm geschrieben und ausgeführt.

Noch eine Frage: Ist es eigentlich schlimm, wenn ich Ports
anspreche, die dem Mikrocontroller nicht zur Verfügung
stehen?

Der ATMega8 hat z.B. keinen PB6 - 8.
Ich will mit dem C-Befehl "outp (0xFF, PORTB);" direkt
alle PB's auf Ausgabe stellen. Mit dem Befehl spreche ich
natürlich auch die PB6 - 8 an. Sollte ich lieber jeden
Port von PB0 bis PB5 einzeln auf Ausgabe stellen?
Kann ich durch verändern der Ports PB6 - 8 etwas im
Speicher des Mikrocontrollers oder etwas anderes verändern,
was zu Fehlern führen könnte, oder ignoriert der Mikrocontroller
diese Veränderung?

Martin

von Sebastian Wille (Gast)


Lesenswert?

Hi Martin,

soweit ich weiß, kannst Du ruhig alles Pins gleichzeitig ansprechen,
auch wenn einzelne Pins nicht da sind.

Nebeninfo: Bei manchen Typen fehlen im DIP-Gehäuse sogar Pins, die in
TQFP da sind. Sie sind in DIP einfach nicht herausgeführt!

Sebastian

von crazy horse (Gast)


Lesenswert?

korrekt, kein Problem.

von Ingo Henze (Gast)


Lesenswert?

PB8 hat wohl keiner der Megas, zumindest laut Datenblatt, das wäre ja
ein neuntes Bit :-)
Da gibt es nur PB0 bis PB7, wenn gleich an PB6 und 7 ja der Quarz
hängt, sofern man einen verwendet.

von Martin (Gast)


Lesenswert?

Ach meinte ich ja. Ich habe falsch gerechnet (PB1-PB8).
Dabei heißen die ja PB0-PB7.

Der Quarz kommt an XTAL1. Ist XTAL1 und XTAL2 einfach ein
anderer Name für PB6 und PB7? Kann man diese Ports ohne Quarz
also ansteuern?

Warum gibt es eigentlich 2 Quarzeingänge?

Martin

von crazy horse (Gast)


Lesenswert?

"Warum gibt es eigentlich 2 Quarzeingänge?"
weil ein Quarz 2 Anschlüsse hat :-)
Im Ernst - es ist der Ein- und Ausgang des aktiven Teils der
Oszillatorschaltung.

von Martin (Gast)


Lesenswert?

Aber in der Schaltung im Tutorial wird doch nur ein Eingang
(XTAL1) verwendet, auch wenn der Quarz bei mir noch einen
unbenutzen Pin hat.

Kann man XTAL2 dann nicht weglassen?
Oder falls (XTAL1 und XTAL2) = (PB6 und PB7) sind, kann man diese
Ports ohne Quarz als Ein- und Ausgänge benutzen?

von Eddi (Gast)


Lesenswert?

Hallo Martin

Ich denke das liegt daran, daß Du einen Quarzoszillator benutzt.
Quarze sind die kleinen silbernen Dinger mit zwei Beinchen dran. Im
Quarzoszillator ist der aktive Teil integriert, da kommt dann ein
TTL-Signal raus. Deshalb nur ein Ausgangspin.
Beim Quarz mußt du den Oszillator entweder selber bauen oder den in den
ICs eingebauten benutzen. Dafür brauchts dann halt zwei Beine.

Wenn Du bei den Megas den internen RC-Oszillator nutzt hast Du
natürlich beide Pins frei.

von Martin (Gast)


Lesenswert?

achso, verstanden g
Ich dachte, Quarzoszillatoren nennt man Quarze ;-)
Der Unterschied ist wohl, dass Quarzoszillatoren
von der Temperatur isoliert sind, oder?

Martin

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.