Witam,
mam program który zlicza czas za pomocą timer0 i generowanego przez niego przerwania (kwarc mam 3.2768MHz). Wygląda to w skrócie tak:
#include <inttypes.h>
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/signal.h>
#include <avr/sfr_defs.h>
int sekunda=0;
SIGNAL(SIG_OVERFLOW0) { static int i=0; i++; if (i==50) { sekunda++; if (sekunda==60) { sekunda=0; } i=0; } }
int main (void) { sei(); DDRB=0xff; PORTB=0xff; TCCR0=4; TIMSK|=(1<<TOIE0); TCNT0=0;
for (;;) { PORTB=sekunda; }
return (0); }
pytanie brzmi: dlaczego to nie działa? Jak w procedurze obsługi przerwania zamienię sekunda na PORTB to już jest ok.
dziękuję z góry za pomoc Wojtek