[an error occurred while processing this directive]
|
Во-первых, сделай прерывание по фронту - выиграешь пару сотен нс. Потом - замени 90S2313 на Tiny2313 и запусти его от 20 МГЦ - выиграешь в 2.5 раза по времени. Процедуру обработки прерывания сократи до минимума, просмотри осциллографом реальный тайминг. Такие задачки надо писать на ассемблере, чтобы быть уверенным в правильности тайминга, а иначе никто тебе не даст гарантии, что данные будут оставаться неизменными все то время, которое компилятор спустит на всякие созранения-восстановления контекста и пр.
E-mail: info@telesys.ru