Forum: Mikrocontroller und Digitale Elektronik ATmega328P: Wofür 8 MHz Bootloader?


von Robin (Gast)


Lesenswert?

An die ATmega328P-Profis da draußen!

Um den ATmega328P einzeln mit dem internen 8 MHz Oszillator (ohne den 
externen 16 MHz Quarz) zu betreiben, muss in der Arduino IDE ein 8 MHz 
Bootloader gebrannt werden. Das habe ich gemacht und es funktioniert 
auch alles. Der µC läuft wie gewünscht mit seinen 8 MHz. Dabei habe ich 
mich gefragt, warum dafür ein Bootloader gebrannt werden muss? Wird da 
wirklich ein Bootloader gebrannt oder passiert da was anderes? Und was 
hat der Bootloader mit der Taktrate zu tun?

Vielen Dank, Gruß Robin

von Thomas G. (Firma: Frickelhauptquartier) (taximan)


Lesenswert?

Damit werden die Fuses gesetzt. Ich vermute du verwendest die 
Arduino-IDE.

von Helmut -. (dc3yc)


Lesenswert?

Die Baudrate der seriellen Schnittstelle ist von der Taktfrequenz 
abhängig. Wenn das nicht passt, ist zwischen IDE und µC keine 
Kommunikation (und deshalb keine Programmierung) möglich.

von Joachim B. (jar)


Lesenswert?

Robin schrieb:
> ATmega328P

der kommt doch serienmäßig mit intern Osc. 8 MHz und div. fuse 8 
gesetzt, läuft also nur mit 1 MHz.

Also irgendwas passt nicht in der Aussage vom TO

was hat er geändert, den Bootloader sicher nicht ohne die fuse!

falls überhaupt ein bootloader drauf war!

Robin schrieb:
> Um den ATmega328P einzeln

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Du brauchst keinen Bootloader um die Taktfrequenz einzustellen. Man kann 
per Fuses die Taktquelle und einen Teiler (durch 8) einstellen. Nur 
nicht mit der Ardiuno IDE.

Wenn du mit der Arduino IDE einen Bootloader installierst, werden dabei 
auch die Fuses eingestellt. Das ist der Zusammenhang, nach dem du 
fragtest.

Der interne R/C Taktgeber ist aber nicht sonderlich Frequenz-Stabil. 
Beklage dich nicht bei uns, wenn die serielle Kommunikation 
unzuverlässig läuft.

von Einer K. (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> Wenn du mit der Arduino IDE einen Bootloader installierst, werden dabei
> auch die Fuses eingestellt. Das ist der Zusammenhang, nach dem du
> fragtest

Aber bei fremden Boarddefinitionen nicht unbedingt ein Bootloader 
gebrannt.
In solchen Fällen ist der Knopf irgendwie verwirrend/falsch benannt, 
dennoch die einzige offizielle Möglichkeit die Fuses aus/mit der Arduino 
IDE zu setzen.

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.