Witam!
Nie wiem o co chodzi!! U¿ywam AVRStudio4.12 (i kompilatora gcc). Mam sobie krótki programik jak ni¿ej. Próbuje symulowaæ to w AVRStudio i dziej± siê dziwne rzeczy. Po funkcji sei() program wskakuje do obs³ugi przerwania SIGNAL(SIG_INTERRUPT1) pomimo, ¿e bit INTF1 w GIFR jest wyzerowany. Czy powinienem siê tym przejmowaæ, tzn. czy w uk³adzie docelowym program bêdzie siê zachowywa³ tak samo czy to tylko taka fanaberia symulatora AVRStudio.
#include <avr\io.h>
#include <avr\interrupt.h>
#include <avr\signal.h>
void RC5_init(void); void Timer_init(void); int numer_bitu;
INTERRUPT (SIG_OUTPUT_COMPARE2) { numer_bitu++; }
SIGNAL (SIG_INTERRUPT1) { numer_bitu++; }
void RC5_init(void) { MCUCR |= 1<<ISC11; MCUCR &= ~(1<<ISC11); // GIFR= 1<<INTF1; GICR |=1<<INT1; }
void Timer_init(void) { OCR2=225; //3/4*1,8ms = 1,35 ms //TIFR=1<<OCF2; TCCR2=1<<WGM21|1<<CS22|1<<CS20; TIMSK=1<<OCIE2; TCNT2=0; }
void main(void) { unsigned char tp1; unsigned char ledy;
RC5_init(); sei(); DDRD=0x00; DDRC=0xFF;
while(1){} }