Externe Taktung (XTAL1) --> ein Pin weniger

Gast #226664
Lesenswert?

Hallo,

mein Mikrocontroller wird zurzeit extern über XTAL1 getaktet.
So wie es aussieht, wird davon der PB6-Pin beeinflusst, was eine
falsche Ansteuerung einer Segment-Anzeige zur Folge hat.

Also jetzt mal generell die Frage:
Wenn ich XTAL1 verwende, kann ich dann den PB6-Pin vom ATmega8
überhaupt nicht mehr verwenden?
Was kann ich gegen diesen Umstand machen?

DANKE.
Gast #226665
Lesenswert?

Ich denk du kannst den internen Takt verwenden, allerdings hab ich mir
sagen lassen das der stärkeren Temperaturschwankungenunterliegt.
Die Ungenauigkeit könnte dann beim uart ein Problem werden.
Außderdem wenn du einen anderen internen Takt als 1 MHz musst du das
OSCCAL - Register manuell beschreiben.
  Chris
Gast #226667
Lesenswert?

ja, denke ich schon.
allerdings musst dich da noch schlau machen ...
ich würde mir jetzt nicht vertrauen, weil ich mich auch grad erst damit
beschäftige,naja eigentlich bin ich schon davon überzeugt das ihn
weglassen kanns ... aber iczh will auch nix falsches sagen ...
Hier gibts doch lauter Profis schade das sich da keiner äußert...
  Chris
Gast #226668
Lesenswert?

OK, dann steige ich jetzt wieder auf interne Taktung um...
Ich möchte meinem ATmega8 jetzt sagen, dass er mit 4MHz arbeiten soll,
dafür muss ich ja das OSCAL Register beschreiben. Mit welchem Wert?
Und wie lautet die passende Assembler Anweisung dafür???


DANKE.
Gast #226669
Lesenswert?

Das Datenblatt gibt auf Seite 23 darüber genaue Auskunft.
OSCAL brauchst Du dafür nicht, sondern CKSEL.

Am besten schreibt man das über seinen Programmer in die Fuses ein. Da
braucht man kein Programm und merkten tut sichs der Atmel auch.
Achtung bei den Fuses ist die Logik grade andersherum: Fuse gesetzt = 0
und Fuse nicht gesetzt = 1.

HTH.
Rick
Gast #226670
Lesenswert?

>mein Mikrocontroller wird zurzeit extern über XTAL1 getaktet.
>So wie es aussieht, wird davon der PB6-Pin beeinflusst,

Mich wundert, daß Dich das wundert! Bei XTAL1 und PB6 handelt es sich
doch um denselben Pin, oder seh ich das falsch?
Gast #226672
Lesenswert?

Ohne die OSCCAL-Kalibrierung kann der Takt recht weit danebenliegen. Die
AVRs mit Oszillator-Revision 3.x wie der ATmega8 haben für 1, 2, 4 und
8Mhz jeweils einen eigenen RC-Oszillator und damit auch einen eigenen
Wert für die Kalibrierung. Der Wert für 1Mhz wird beim Start
automatisch in OSCCAL geladen. Wenn man einen anderen Takt verwendet,
muß man den entsprechenden Wert selbst laden. Soweit ich weiß, hat der
Controller selbst auf diesen Wert keinen Zugriff. Man kann ihn aber per
SPI auslesen und dann den benötigten Wert ins EEPROM schreiben. Von dort
aus kopiert man's dann beim Start des Mikrocontrollers ins
OSCCAL-Register.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren