Hi, ich habe einen Atmega328P mit einem ISP Programmer programmiert.. https://www.sparkfun.com/datasheets/Components/SMD/ATMega328.pdf Als ersten Test möchte ich eine LED blinken lassen. Im Anhang ist der Plan. 5 V von einem Netzteil werden verwendet. Die LED blinkt. Aber nur wenn man XTAL1 berührt. Warum? Die Blinkfrequenz unterscheidet sich je nachdem wie man XTAL1 berührt. Wenn ich XTAL1 mit meiner Hand berühre wird es am schnellsten. Wo steht eigentlich wie man den Atmega328 korrekt beschaltet? Warum muss man XTAL beschalten und kann nicht einfach den internen Oszillator verwenden?
1 | #define F_CPU 8000000UL
|
2 | #include <avr/io.h> |
3 | #include <util/delay.h> |
4 | |
5 | int main(void) |
6 | {
|
7 | DDRB |= (1<<DDB1); |
8 | //PORTB=0x00;
|
9 | while (1) |
10 | {
|
11 | PORTB |= (1<<PORTB1); |
12 | _delay_ms(1); |
13 | PORTB &= ~ (1<<PORTB1); |
14 | _delay_ms(1); |
15 | }
|
16 | }
|
Danke