mala.nm napisał:
To jak zainicjoweać wejście INT0 dla atmegi 88?
Tak samo....
Sposób konfiguracji interruptów zewnętrznych nie różni się, lecz ze względu na różnice w architekturze uControllerów, te same bity mogą byc umiejscowione w innych rejestrach.
1. Wejście z interruptem (Int0) w obydwóch uC jest PD.2
2. Enable global interrupts też bez różnicy - albo edytujesz rejestr SREG, bit-I (bit7), albo w programie 'sei'.
3. Enable interrupt0 - bit ten w Mega16 jest w rejestrze GICR, zatem masz:
GICR = 1<<INT0; // Enable INT0
W mega 48/88/168 - bit ten znajduje się w rejestrze
EIMSK, zatem należy odpowiednio wyedytowac ten rejestr.
4.Sensing na zbocze (rising/ falling) - nazwy i funkcje bitów są te same, lecz są umiejscowione w innym rejestrze.
Dla Mega16 edytujesz rejestr MCUCR; np:
MCUCR = 1<<ISC01 | 1<<ISC00; // Trigger INT0 on rising edge,
- natomiat dla Mega88 będzie to rejestr
EICRA.
e marcus