В МК 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 нс