Код
SETBIT(TIFR1,ICF1);//clear icf1 interrupt flag
TCNT1=0; //clear timer1
SETBIT(TIFR1,TOV1); //clear overflow interrpt flag for timer1
TCNT1=0; //clear timer1
SETBIT(TIFR1,TOV1); //clear overflow interrpt flag for timer1
и дизасемблерный
Код
99: SETBIT(TIFR1,ICF1);//clear icf1 interrupt flag
+0000015A: 9AB5 SBI 0x16,5 Set bit in I/O register
100: TCNT1=0; //clear timer1
+0000015B: D011 RCALL PC+0x0012 Relative call subroutine
101: SETBIT(TIFR1,TOV1); //clear overflow interrpt flag for timer1
+0000015C: 9AB0 SBI 0x16,0 Set bit in I/O register
+0000015A: 9AB5 SBI 0x16,5 Set bit in I/O register
100: TCNT1=0; //clear timer1
+0000015B: D011 RCALL PC+0x0012 Relative call subroutine
101: SETBIT(TIFR1,TOV1); //clear overflow interrpt flag for timer1
+0000015C: 9AB0 SBI 0x16,0 Set bit in I/O register
Вопрос такой кманда SBI 0x16,5 должна сбросить 5-й бит в регистре TIFR1, а если верить симулятору AVRStudio то очищается весь регистр целиком.Это как понимать?Глюк симулятора?