|
Допустим, есть некий counter, который устанавливается в main(), а используется в прерывании. Пишем:
__regvar __no_init volatile char counter @ 15;
__C_task void main(void)
{
counter = 10;
}#pragma vector=TIMER0_OVF_vect
__interrupt void IntTimer0(void)
{
if (counter)
{
PORTC_Bit0 = 1;
counter--;
}
else
PORTC_Bit0 = 0;
}
Строку в main() компилятор пропускает как пустое место, при любой степени оптимизации :( Можно конечно asm-вставку сделать, но хочется по-человечески...
E-mail: info@telesys.ru