Ist es richtig, dass ich an einem ATmega8 überhaupt keinen Oszillator
anschließen brauche? Kann ich den uC dann denn auch über ISP
programmieren oder geht das schief?
Welche weiteren Nachteile hat das Weglassen eines externen Taktes?
Vielen DANK!
Ist richtig, ISP geht natürlich. Zu beachten: Interner Takt ist bei
vielen AVRs 8MHz mit Teiler 8 = 1MHz. Die ISP-Frequenz darf dann nicht
über 250KHz liegen. Jedefalls solange, bis man den Teiler losgeworden
ist.
Interner Takt ist ungenau, für UART nicht ausreichend.
Du kannst natürlich einen ATmega 8 auch ohne externen Oszillator oder
Quarz betreiben. Ab Werk werden ja alle ATmegas mit internem Takt
ausgeliefert. Programmieren klappt ohne Probleme damit.
Nachteile gibt es dann, wenn du einen ganz exakten Takt brauchst. Für
die UART zum Beispiel. Der interne Takt ist nicht genau genug dafür.
MfG
Marius
Die Megas haben intern eingebaute Taktgeneratoren, damit kannst Du alles
machen! Allerdings sind sie nicht so frequenzstabil wie die
quarzgesteuerten. Es hängt von Deiner Anwendung ab, ob Du mit
Genauigkeit bzw. Geschwindigkeit der internen Taktgeber zufrieden bist.
Ich arbeite mit den Mega8 und Mega16 gerne "nur" mit dem
voreingestellten 1MHz Takt, weil ich kaum zeitkrtische Anwendungen habe
und weil's so schön schnell zusammenzustricken ist. Auch
Datenübertragung klappt(e) immer mit 2400Baud. Du kannst aber in anderen
Postings nachlesen, dass z.B. höhere Baud-Rate zu
Synchronisationsproblemen führen kann.
Es ist so ähnlich wie bei Beton: Kommt drauf an, was Du damit machen
willst ... ;-))
Hallo,
ich hätte eine frage dazu ;-)
wie kann ich den oszillator des Atmega8 deaktivieren ? Hab (natürlich
wie anscheinen viele andere) einfach die fuse-dingsbums verstellt und
somit keinen zugriff mehr auf den Chip.
Möchtet nicht nochmal einen zerstören. Kann ich das in einem BASCOM code
machen. In der Hilfe steht zwar was davon, aber von einem anderen Chip.
Vielen Dank im voraus !
M.f.G.
Jürgen
> wie kann ich den oszillator des Atmega8 deaktivieren ?
Deaktivieren? Du meinst wieder auf den internen umschalten?
> (...) einfach die fuse-dingsbums verstellt und> somit keinen zugriff mehr auf den Chip.
Am einfachsten: externen Oszillator an den XTAL Pin (XTAL 1 ?)
anschließen und auf internen Takt zurückstellen.
> Möchtet nicht nochmal einen zerstören. Kann ich das in einem BASCOM code> machen. In der Hilfe steht zwar was davon, aber von einem anderen Chip.
Ja, ja, ....
Die Bascom-Menschen ;-)
Wenn du wirklich was mit µC lernen willst: nimmt Assembler oder C, aber
wir über solche Themen gibts laaaaannge Diskussionen :)
Lötnix wrote:
> I2CINIT , I2CRECEIVE , I2CSEND , I2CSTART,I2CSTOP,I2CRBYTE,I2CWBYTE
bitte was ??? :-)
kann ich das mit einem zweiten AVR Board wieder reparieren ?
Ich hab mir jetzt nen neuen Atmega8 für 2,60.-€ bestellt, ist bestimmt
billiger und einfacher als erst die anderen Bauteile zu kaufen.
Ich möchte dann einfach bei dem neuen Chip den internen Oszi
ausschalten, aber wie ?
> Ich möchte dann einfach bei dem neuen Chip den internen Oszi> ausschalten, aber wie ?
Wenn du KEINE externe Taktquelle hast (Oszillator, Quarz, Resonator,
...) dann würde ich dir empfehlen den internen Oszilator NICHT
abzudrehen!!
>Ich möchte dann einfach bei dem neuen Chip den internen Oszi>ausschalten, aber wie ?
Genau so, wie es im Datenblatt steht. Wenn Du Dir zukünftigen Ärger
ersparen willst, kannst Du Dir auch mal einen richtigen Programmer
(STK500, AVR-Dragon oder AVR_ISP) gönnen und AVR-Studio benutzen. Da
stehen die Fuses wunderschön beschrieben, mit all den Dingen, die sie
bewirken. Und die Programmer sind ihr Geld wert.
Jürgen H. wrote:
> Ich hab mir jetzt nen neuen Atmega8 für 2,60.-€ bestellt,
Warum kaufst Du so teuer? Ich habe dieser Tage 1,49 € pro Stück bezahlt,
war aber Mengenrabatt für 15 Stück.
> ist bestimmt> billiger und einfacher als erst die anderen Bauteile zu kaufen.
Das ist durchaus möglich.
>> Ich möchte dann einfach bei dem neuen Chip den internen Oszi> ausschalten, aber wie ?
Das geht mit den Fusedingsbums. Aber:
Ehe man sich daran vergreift, sollte man das Datenblatt zu Rate ziehen
und ermitteln welche Möglichkeiten es gibt. Dann sollte man überlegen,
welche der Möglichkeiten man nutzen möchte. Dann sucht man sich die
(benötigten) Zustände aller Fusebits im Datenblatt zusammen (Stift und
Papier ist dabei sehr hilfreich), liest mit dem ISP-Programm die Fuses
des AVRs ein und vergleicht sie mit den im Datenblatt ermittelten. Dabei
stellt man fest, dass die Bits invertiert dargestellt werden (oder auch
nicht, je nach ISP-Programm). Wenn man nun den Durchblick hat, dann
ändert man die zu ändernden Bits und schreibt die Fuses in den AVR
zurück. Ist man sich nicht sicher, dann beginnt man von vorn. Klappt das
auch nicht, sollte man über andere Hobbies nachdenken.
Wer allerdings einfach an den Fusedingsbums herumspielt, ohne zu wissen
was er tut, mit dem habe ich nichtmal Mitleid.
...
Hi,
ich benutze bei meinem Atmega8 auch den internen Oszillator bei 8MHz und
der uart läuft einwandfrei. Bei einem Atmega16 und bei einem 32er hat es
auch ohne weiteres bis 57600baud über den internen Takt funktioniert,
kann mir das mal einer erklären?
Gruß Flo
Flo wrote:
> Hi,>> ich benutze bei meinem Atmega8 auch den internen Oszillator bei 8MHz und> der uart läuft einwandfrei. Bei einem Atmega16 und bei einem 32er hat es> auch ohne weiteres bis 57600baud über den internen Takt funktioniert,> kann mir das mal einer erklären?>> Gruß Flo
Du hattes einfach Glück.
...
Ich hatte auch bisher keine Probleme mit Mega8, internem RC-Takt und
UART bis 9600 Baud.
Ich betreibe die Mega8 i.d.R. mit internen 8MHZ und lade beim Start das
Calibration-Byte in das OSCCAL Register. Dann ist der Takt ausreichend
genau im "normalen" Temperatur- und Spannungsbereich.
MfG Willi