[an error occurred while processing this directive]
|
Люди,
Не могу попасть в прерывание таймера в режиме симуляции (и не только, зашиваю в плату - эффект тот же).
Подскажите если делаю что то не так, хотя вроде все биты выставляются, за исключением IRPTL. Таймер вроде тикает (правдо странно - не через единицу а через произвольное количество). Код ниже:
void main (void)
{
asm("bit clr MODE1 0x00001000; nop;"); // disable interrupts
SetIOP(TPERIOD1,period_in_clocks);
SetIOP(TCOUNT1,0L);
asm("bit clr mode2 0x00004100;");
asm("bit set mode2 0x00003c00;");
interrupts(SIG_TMZ0,intTimerHandler);
asm("jump (pc,3) (db); bit set MODE1 0x00001000; nop;"); // enable interrupts
}
void intTimerHandler(void)
{
asm("bit clr MODE1 0x00001000; nop;"); // disable interrupts
}
Всем спасибо.
Михаил
E-mail: info@telesys.ru