Hallo,
ich bin etwas eingeschüchtert von den vielen Warnungen beim setzen der
Fuse Bits.
Ich habe eine Atmega328 und einen externen 16 Mhz quartz. Diesen hab ich
in Pin 9 und 10 gesteckt und von jedem Pin über einen 22pF Kondensator
auf Masse.
Im Anhang ein Screenshot aus AtmelStudio.
Den Externen Quarz habe ich bereits gewählt, nur ckdiv8 um nicht durch 8
zu teilen hab ich noch nicht auf 0 gesetzt.
1. Sind die Fuse Bits so korrekt?
Um zu gucken, ob der Takt auch korrekt ist, wollte ich mit dem Oszi mal
einen Port einfach high/low setzen in der while schleife hier erhalte
ich 500 kHz das mit 8 multipliziert ergäbe aber nur 4MHz....
Folgenden Code hab ich dafür auf den uC geladen:
1 | #ifndef F_CPU
|
2 | #define F_CPU 16000000UL // 16 MHz clock speed
|
3 | #endif
|
4 |
|
5 | #include <avr/io.h>
|
6 | #include <util/delay.h>
|
7 |
|
8 | int main(void)
|
9 | {
|
10 | DDRC = 0xFF;
|
11 | while(1)
|
12 | {
|
13 | PORTC = 0xFF;
|
14 | PORTC= 0x00;
|
15 | }
|
16 | }
|
Gruß