//dołączanie bibliotek
#include ...
volatile uint32_t overflow;
ISR (TIMER0_OVF_vect)
{
overflow++;
}
void funkcja()
{
uint32_t pom;
overflow=0;
...
... //różne duperele związane z szyfrowaniem
...
pom=overflow;
}
SIGNAL (SIG_INTERRUPT0)
{
funkcja();
}
SIGNAL (SIG_INTERRUPT1)
{
funkcja(); //w przypadku obu pinów INT0 oraz INT1 odpala funkcja();
}
int main()
{
SREG=0x80;
GICR = _BV(INT0)|_BV(INT1); //włącz obsługę przerwań Int0 i Int1
MCUCR = _BV(ISC01)|_BV(ISC11);
//ustawienie obsługi przerwania z Tmr0
TIMSK = _BV(TOIE0);
TCCR0 = _BV(CS00);
//włączenie wszystkich przerwań
sei();
while (1)
{
}
Ten program jest tylko wzorem... Nie wyjaśniłem co dzieje się w funkcji fucnkja() bo to jest tylko operacja na zmiennych...
Dlaczego do jasnej ch***ry zmienna "pom" zawsze wynosi zero (tzn. pom==0) ?
Dzięki za pomoc...
Dodano po 1 [minuty]:
zapomniałem dodać: w Fusach ustawiłem na zegar 8MHz i jak widać działa bez żadnego prescalera...
