[an error occurred while processing this directive]
|
Во-первых, UART буферизован, и пока прога выгребает предыдущий принятый байт, UART спокойно принимает следующий. То есть, на выгребание байта в худшем случае отпущено порядка 1 мс при 9600. За это время горы можно свернуть :-)
Во-вторых, как это обработка UART никак не сказывается на таймере, и наоборот.
Или Вы, уважаемый, из тех, кто всю программу делает в виде огромной процедуры обработки прерывания? Если так, то очень зря, срочно меняйте стиль. :-)
Подпрограммы обработки прерываний должны быть очень короткими, типично - десяток-другой команд. Скажем, по 1мс таймеру поставили флажок - и вывалились (ну, может, еще счетчик времени инкрементировали). По UART - выгребли байт из UART в буфер, и вывалились.
E-mail: info@telesys.ru