Hallo zusammen,
ich versuche mich gerade am Timer meines ATmega88. Ich möchte ein
Clock-Signal erzeugen, welches dann auf einen Pin ausgegeben werden
soll. Die Frequenz sollte so bei 350kHz liegen.
Der Timer an sich läuft, aber irgendwie komme ich mit den erforderlichen
Einstellungen nicht ganz zu recht, genauer gesagt, ich komme nicht auf
die gewünschte Frequenz. Ich habe im Moment etwa 125kHz, d.h. eine
Periodendauer von etwa 8µs, Mit Oszi angesehen.
Der ATmega läuft mit 8MHz.
Den Timer wollte ich im CTC Modus laufen lassen.
Unten ist mein Code dazu.
Wäre klasse, wenn mir da jemand aufzeigen könnte, was isch da falsch
mache oder wo ich da einen Denkfehler drin habe.
Gruß und schon einmal vielen Dank!
Mein Code sieht bisher mal so aus:
1 | void main(void)
|
2 | {
|
3 | cli();
|
4 | port();
|
5 | time();
|
6 |
|
7 | while(1);
|
8 | }
|
9 |
|
10 |
|
11 |
|
12 | void time(void)
|
13 | {
|
14 | TCCR0B |= (1<<CS00);
|
15 | TCCR0A = (1<<WGM01);
|
16 | OCR0A = 6;
|
17 | TIMSK0 |= (1<<OCIE0A);
|
18 | }
|
19 |
|
20 |
|
21 | ISR (TIMER0_COMPA_vect)
|
22 | {
|
23 | PORTB ^= ( 1 << PB0 );
|
24 | }
|