Nabend zusammen,
ich beschäftige mich gerade mit dem 8-bit Timer/Counter0 with PWM im CTC
Mode.
Ziel ist es das ich eine genaue Millisekunde als Flag hin bekomme.
Ich habe mal ein bisschen Code dazu geschrieben.
1 | void InitialTimer(void)
|
2 | {
|
3 | // Timer 0 initialisieren
|
4 | TCCR0A = (1<<WGM01); // CTC-Mode
|
5 | TCCR0B = ((1<<CS00)|(1<<CS02)); // Prescaler 1024
|
6 | OCR0A = 6.8125; // 1ms
|
7 | TIMSK0 |= (1<<OCIE0A); // Interrupt setzen
|
8 | }
|
Frage an die Experten. Wird der Interrupt in genauen Millisekunden
aufgerufen wenn der ATmega mit 8Mhz Takt läuft.
Rein optisch sieht mir das nach 1 Sekunde aus, wenn ich da eine LED mit
einem Zähler für die Millisekunden blinken lasse.
Ich hab nur keine Idee im moment wie ich das nun verifizieren kann.
Grüße
Stephan
PS: Ich hab zwar ein Osziloskop, muss aber gestehen, das ich zu lange
nicht mehr damit gearbeitet habe als das ich nun zuverlässig damit das
verifizieren kann. Muss mich ins Osziloskopieren selbst erst wieder
einarbeiten.