Если кто использовал ADuC831 пробовали-ли вы проверять работу раймеров на симуляторе? У меня почему-то они отказываются работать. КОД: main.c
int main(void) { TCON_bit.TR1 = 1; // Запуск T1 TCON_bit.TR0 = 1; // Запуск T1 SCON_bit.REN = 1; // Разрешение приёма UART // IE_bit.EA = 1; // Глобальное разрешение прерываний P2 = 0xFE; // 485 - ПРИЁМ while(1) { if(TCON_bit.TF1 == 1) { TCON_bit.TF1 = 0; P3 = P3 ^ 0x80; } } }
low_level_init.c ......... PCON_bit.PCON7 = 1; //Инициализация T1 TMOD_bit.M11 = 1; // Режим 2. 8-битный автоперезагружаемый таимер TH1 = TL1 = 0xFF; // // Инициализация UART SCON_bit.SM1 = 1; // Режим 1. 8-битный приёмопередатчик // Инициализация прерываний IE_bit.ES; // Разрешение прерываний UART // Инициализация портов В/В P3 = 0x7F; // Светодиод - ВЫКЛ ............
Таймер - не считает! Флаг TF1 - не устанавливается. Проверял программу в железе - не работает таймер. ПРОШУ СОВЕТА
|