Ответ:
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено dima_k 31 декабря 2004 г. 16:51
В ответ на: Вам нужно вносить изменения в протокол, так как отправлено Леонид Иванович 31 декабря 2004 г. 16:22

/*
в любой линии передачи возможны ошибки, но они не должны приводить к зависанию всей сети. Ваша задача - корректно обработать возможные ошибки.
*/
да, я проверил, что не слейв не может нигде виснуть (просто нет бесконечных циклов, предусмотрены таймауты). Кроме того, я проверил, что таймеры, работающие с фифо uart-ов, продолжать работать по прежнему (т.е. это проверено 100%). Стек не переполняется, все переменные, относящиеся к фифо, после зависания в нормальном состоянии. Фифо также не переполняется.

/*
Не совсем понятно, почему Ваш слейв так себя ведет. Ведь после приема пакета от мастера слейв должен включить передатчик и отправить ответный пакет мастеру, после чего выключить передатчик.
*/
Совершенно верно. Так и делается, я выключаю передатчик в прерывании transmit complete. Видимо, происходит несанкционированное включение, либо не происходит выключение. Но он же не может пропустить прерывание по transmit complete, насколько я понимаю...

/*
На этото процесс никакие события на линии, в том числе и ошибки, влиять не должны. Может, у Вас слейв просто виснет в результате, скажем, помех по питанию?
*/

Нет, к сожалению, слейв нигде не виснет, тогда бы я быстро разобрался. Происходит ошибка в управлении сигналом прием-передача.
Но из-за чего, не понимаю, хоть убей. Самое плохое, не знаю как искать. Вроде все перепробовал.


Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru