Forum: Mikrocontroller und Digitale Elektronik 32khz erzeugen mega 8


von Peter (Gast)


Lesenswert?

hallo

ich muß für einen drucksensor ein 32khz clock signal erzeugen.

habe mega8 mit 4mhz.

mein ansatz

void init_pwm(void)
{
DDRB |=(1<<PB1);
PORTB |=(1<<PB1);
TCCR1A = (1<<COM1A0);
TCCR1B = (1<<CS11)|(1<<WGM12);
OCR1A=14;
}


ist das so korreckt???

von Johannes M. (johnny-m)


Lesenswert?

Peter wrote:
> ist das so korreckt???
Wenn Dir 33,333 kHz nicht zu ungenau sind, dann vielleicht...

Wenn Du genau 32 kHz haben willst, dann ohne Vorteiler und mit OCR1A = 
125. Abgesehen davon reicht für sowas auch ein 8-Bit-Timer (nur für den 
Fall, dass Du den 16-Bit-Timer noch für andere Sachen brauchen 
solltest).

"korreckt" wäre übrigens ohne "c" noch viel korrekter...

von spess53 (Gast)


Lesenswert?

Hi

Mit OCRxx = 62 bekommst du 31,75kHz (ohne Vorteiler) auch mit 
8Bit-Timer.

MfG Spess

von Johannes M. (johnny-m)


Lesenswert?

Ach ja, Du hast den Faktor 2 vergessen (und ich grad auch...). Spess hat 
natürlich Recht. Mit der Einstellung sollte es klappen. Mit Deiner 
eigenen kämen nur 16,667 kHz raus (und mit meinem Vorschlag von oben 16 
kHz).

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.