Forum: Mikrocontroller und Digitale Elektronik ATMEGA 168PA Programmieren


von Tobias x. (dertobias)


Lesenswert?

Hallo Leute,

Ich habe meinen ATMega mit meiner Hardware erfolgreich geschafft zu 
programmieren, und meine Software läuft auch, bis auf einem Problem:
Fuses habe ich wie folgt gesetz (Information von einem Kollegen)

"Da würde ich den internen RC einstellen, den ClockDivider(ich glaube 
ClkDiv8 heisst der) disablen, möglichst lange Zeiten und Clockcyclen für 
den Reset wählen. Dann würde ich dort noch den Brownoutdetector 
(Unterspannungsreset) aktivieren, auf eine Spannung unterhalb eurer 
Versorgungsspannung am µC.

Sonst alles in den Fuses so lassen."

Hier mit habe ich dann ja meinen Internen Clock eingestellt, der laut 
Datenblatt auf 8MHz schwingt, oder ist das falsch? muss ich in der 
Software noch irgendwas eibinden, damit die software das auch weiß? Weil 
ich habe mehrere LEDS die der Reihe nach angeschaltet werden sollen, mit 
immer 200ms delay dazwischen. also:
_delay_ms(200);
aber das passt definitiv nicht mit dne 200ms, es geht einfach viel zu 
schnell.

Wenn ich die Zeit auf 1000 setzte merkt man das es langsamer wird, aber 
auch keine sekunde zwischen dem einschalten der einzelnen leds vergeht.

Kann mir da wer helfen ?

von AVerr (Gast)


Lesenswert?

Tobias xxx schrieb:
> Hier mit habe ich dann ja meinen Internen Clock eingestellt, der laut
> Datenblatt auf 8MHz schwingt, oder ist das falsch? muss ich in der
> Software noch irgendwas eibinden, damit die software das auch weiß?

Soviel ich mich erinnere, kann man wählen, ob 1, 2, 4 oder 8 MHz.
Auf jeden fall musst du
1
#define F_CPU 8000000UL
vor dem Include der delay.h haben, damit er die 200ms auch richtig 
berechnen kann.
Vermutlich ist der Wert bei dir zu klein definiert.

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.