hi, ich habe an meinem Mega32 einen 16 MHz Quarz. Laut Schaltung müsste ich ihn ja über je einen 22pF Kondensator mit masse verbinden. Das Problem ist wenn ich die Teiel drann habe gehts nicht wenn...wenn se ab sind gehts. kann sich das einer erklären?
Naja, du musst den Kondensator dranhängen, den der Quarzhersteller als Lastkapazität spezifiziert hat. Einzurechnen sind dabei auch die Kapazität der AVR-Pins selbst sowie der Platine. Wenn du ein Steckbrett benutzt, kann dessen Kapazität schon komplett ausreichend sein. Denk auch dran, dass du bei ATmega32 für Quarze größer 8 MHz unbedingt die CKOPT-Fuse setzen musst. Dadurch wird die Ausgangsamplitude des Oszillators auf volle Vcc angehoben, was aber auch den Stromverbrauch vergrößert.
Ja ich benutze ein Steckbrett das wirds sein. Ich habe mal geschaut. 32 pF sind angegeben. Wenn ich dan über nen Kondi an die Masseleitung verbinde, wird das sicher viel zu viel sein... Ob ich den CKOPT-Fuse gesetzt habe weis ich nicht. Das glaube ich aber eher weniger, da ich meines Wissens eigentlich nur Im AvrProg auf Quarz umgestellt hatte.
Florentin Schirmer wrote: > Ja ich benutze ein Steckbrett das wirds sein. Dann lass die Kondensatoren weg, die hat dein Steckbrett ,,eingebaut''. ;-) > Ob ich den CKOPT-Fuse > gesetzt habe weis ich nicht. Das glaube ich aber eher weniger, da ich > meines Wissens eigentlich nur Im AvrProg auf Quarz umgestellt hatte. Naja, ist ja nicht dasselbe. Bei bis zu 8 MHz muss man CKOPT nicht setzen, nur höhere Frequenzen werden ohne diese Einstellung vom Oszillator nicht sicher erreicht. Das heißt, es kann auch ohne gehen, aber es ist dann nicht mehr sicher, dass es über Temperatur und Betriebsspannung stabil ist. p.s.: Wenn du die Frequenz mit dem Oszi messen willst, klemme besser nicht den Tastkopf direkt dran. Das ist nochmal Kapazität. Leider hat der ATmega32 noch keine Möglichkeit, sich via CKOUT-Fuse die Oszillatorfrequenz direkt auf ein Pin legen zu lassen, aber man kann sich mit einem einfache Timer-Setup behelfen, das dann den Oszillator 1:2 geteilt an einem OCx-Ausgang ausgibt.
Da erwischste mich leider auf dem falschen Fuß. Ich hab' kein Windows. Mit avrdude (solltest du haben, wenn du WinAVR installiert hast) wäre es:
1 | avrdude -c avr910 -P com1 -p m32 -U hfuse:w:0x89:m |
Das stellt alle anderen Bits in der high fuse auf seine Defaults zurück. Wenn du EESAVE auch noch programmiert haben willst, wäre es 0x81 statt 0x89. [Edit: da fehlte noch ein "w" drin.]
tja...das Problem ist nur ich habe nen USB Programmer, da mein PC kein Com hat. Und da gehen nur die beiden. PS ich nutze auch eigentlich MacOs. Nur durch die Mikrocontroller habe ich seit langem mal wieder Windows benutzt, da das auf mac nicht geht.
Windows ist schon in Ordnung, damit kann man wenigstens vernünftig arbeiten. Alles andere ist ja nur Gefrickelkernelkomilieremacs.
...Da erwischste mich leider auf dem falschen Fuß. Ich hab' kein Windows..... ach du meine güte, ein ausserirdischer oder gelegenheitsbastler.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.