[an error occurred while processing this directive]
Всем спасибо .... :) По-видимому причина была в следующем:
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
Отправлено
Fokus 12 октября 2005 г. 17:25
В ответ на: Трабла с UART AT90s2313 отправлено
<font color=gray>Fokus</font> 12 октября 2005 г. 14:02
Мы щас посмотрели, оказалось, что в этом дедлочном состоянии RTS был выставлен на передачу, как и предполагал Bill. При этом программа ждала входящего пакета, которого, она, естественно, получить никак не могла, т.к. приемник 485 был выключен.
Как проц попадал в такое состояние - вопрос наверно поинтереснее, т.к. он не должен был в него попасть ни при каких обстоятельствах. Возможно дело в том (это описанно в Erratas) что при некорректном сбросе (который мог быть из-за одновременного выхода на передачу) состояние портов оставалось тем же, что и до сброса, т.е. RTS на передачу, а после сброса программа ждала входящего пакета, и RTS не трогала вообще. Почему не срабатывала инициализация (в ней RTS обнулялся - не понятно, мы списали это на некорректный сброс) - ХЕЗ.
Выводы - лечить будем программным вотчдогом, который при непоступлении пакетов втеч. некоторого времени выставляет RTS в ноль.