Hi Leute,
ich komme nicht weiter.
Hab/ will meinen Atmega32 auf den 8Mhz Quarz umstellen.
Fuses
Low 0xFD
High 0xC9
Ich kann die Fuses eh umstellen wie ich will, er läuft anscheinend immer
mit dem gleichen Takt.
Mit dem Oazi mess ich ca. 7,6 Mhz am Quarz, das dürfte also passen denke
ich. C am Quarz sind 22pF nach Datenblatt.
Teste mit diesem Programm (LED toggeln)
1 | #include <avr/io.h>
|
2 | #include <avr/interrupt.h>
|
3 |
|
4 | ISR(TIMER1_COMPA_vect)
|
5 | {
|
6 | PORTD ^= 0xff;
|
7 | }
|
8 |
|
9 | int main(void)
|
10 | {
|
11 | DDRD = 0xff;
|
12 | PORTD = 0xff;
|
13 |
|
14 | TCCR1A = (1<<WGM12);
|
15 | TCCR1B = (1<<CS12) | (1<<CS10);
|
16 | TIMSK = (1<<OCIE1A);
|
17 | OCR1A = 7812;
|
18 |
|
19 | sei();
|
20 |
|
21 | while(1)
|
22 | {
|
23 | //TODO:: Please write your application code
|
24 | }
|
25 | }
|
Nach meinen Berechnungen müsste er dann mit 8Mhz/(1024*7812) = ca. 1Hz
toggeln.
Wenn ich messe sind es ca. 8s, also 1/8 Hz, was mich auf den internen
Clock von 1Mhz schließen lässt.
Allerdings ist das komische, ich kann OCR1A ändern, aber die
Toggelfrequenz bleibt gleich.
Steh ich jetzt also mit dem Programm auch noch auf dem Kopf?
Vielen Dank für eure Hilfe.
Grüße Joe