В МК 1986ВЕ1Т потребовалось генерить интервалы кратные 1 мкс . Чтобы проверить возможность такого процесса в main() оставил только while(1) {}.
Прерывние обрабатывается так: void TIMER2_Handler () { TIMER2->STATUS =0 ;//сброс события прерывания PORTD->RXTX = 0xFFFF ; PORTD->RXTX = 0 ; } Однако при значениях TIMER2->ARR меньше 0x00000030 период срабатывания (выход - порт контролирую осциллографом) становится = 1,5 мкс и не меняется. Явно связано с работой МК, но почему - не понял. Может кто подскажет? Тактовая частота МК 24МГц. Интервал между PORTD->RXTX = 0xFFFF ; и PORTD->RXTX = 0 ; равен 80 нс
|