Прошу прощения ещё раз.
Запуск происходт в функции timer_enable сразу после инициализации. Драйвер вот:
CODE
/******************************************************************************
** Function name: enable_timer
**
** Descriptions: Enable timer
**
** parameters: timer number: 0 or 1
** Returned value: None
**
******************************************************************************/
void timer_enable(BYTE timer_num)
{
if ( timer_num == 0 )
{
T0TCR = 1;
}
else if ( timer_num == 1 )
{
T1TCR = 1;
}
else if ( timer_num == 2 )
{
T2TCR = 1;
}
else if ( timer_num == 3 )
{
T3TCR = 1;
}
return;
}
Цитата(esaulenka @ Jul 13 2010, 11:25)

В какой момент считываете?
Считывается в while...
Цитата(toweroff @ Jul 13 2010, 11:23)

[code] //--- Timer 0 - interrupt 10 ms
посмотрите, как там у Вас с частотой на таймер, вообще стартап. В моем случае 72/4=18, отсюда T0MR0 = 18000 * 10 для 10мс
и опять же - в каком месте вызывается чтение? может, оно так получается, что вызываете как раз в состоянии счетчика 0

Прерывания-то происходят, а считать ничего не удаётся.
Так как считывание происходит в цикле while(1), то попадать всегда в T0TC = 0, кажется невероятным
Сообщение отредактировал argentum - Jul 13 2010, 07:53