Дано: Philips LPC-2214, Micrium uC/OS-II, IAR 4.11 От таймера 0 идут прерывания (100 тиков/с), они заведены через VIC на OSTimeTick() Кроме этого, прерывания генерируются по фронтам/спадам на входе P0.10, P0.11 - по этим прерываниям запускается таймер 1, замеряющий длину импульса на входе
Проблема: Входные импульсы на P0.10, P0.11 периодически теряются. Есть подозрение - из-за того, что OSTimeTick() запрещает прерывания на время своей работы (порядка 20 мкс), а потому прерывание от входа, случившееся во время этого запрета, просто пропадает.
Спрашивается: 1) возможны ли другие причины потерь импульсов (на входе они заведомо есть, тест-вертушка без ОС их обнаруживает надежно) 2) как настроить VIC и обработчики прерываний, чтобы прерывание от входа не пропадало, а лишь задерживалось на время запрета прерываний?
Помогите, пожалуйста.
|