Gast
#1212630
Ich glaube ich steh auf dem Schlauch.
ich versuch gerade die Timer vom mega8 zu verstehen.
... Und moechte das diese tun was ich programmiere.
(warscheinlich tun sie das, aber ich hab irgendwo ein Denkfehler und
weiss nicht wo)
=> kein konkretes Projekt nur sehen was geschieht
Nach allem was ich im DB und hier im Forum gelesen habe sollte es wie
folgt gehen.
Hardware: Grundschaltung mit 16Mhz Crystal und 2x22pF nach Grund
#include <avr/io.h>
#include <avr/interrupt.h>
ISR(TIMER0_OVF_vect){
PORTD ^= (1<<PD1);
}
int main(){
DDRD |= (1 << PD0) | (1 << PD1) ;
TCCR0 |= (1<<CS01); // prescaling 8
TIMSK |= (1<<TOIE0);
PORTD |= (1<<PD2);
PORTD |= (1<<PD3);
sei();
for (;;) { /* loop forever */
}
}
Erwartet:
16MHz/8 = 2MHz am Pin PD1
Ergebnis:
(an XTAL2 liegen 15.997 MHz)
an PD1 3.90kHz
Zu naiv? Nicht verstanden was da passiert? DB nicht verstanden?
Der AVR hat sein eigenes Leben?
Vielleicht kann mir jemand auf die Spruenge helfen.
Danke