Вопрос по USART, проблемы использования

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Открыл глаза
Сообщения: 44
Зарегистрирован: Пт май 06, 2011 20:19:53
Откуда: Украина, Мариуполь

Сообщение thebonix »

Добрый день, собственно вопрос по работе этого протокола...
пробывал както делать примерчик, состоял он из основного устройства(atmega16) и двух дополнительных(на atmega8),
логика такая, atmega16 опрашивает по очереди каждую atmega8, те в ответ тоже посылают пару байт, своего рода пинг...
Связывал их по USART, работало все четко, кодил на FlowCode, проблем никаких, все наглядно...
но были неприятные моменты, незнаю кому их списать, толи я чтото нето делал, толи особенности этого протокола...

Вообщем проблема такая - запускаеш все три контроллера одновременно, все работает отлично, четко.
НО стоит один из "дополнительных" atmega8 контроллеров выключить (снять питание) вся система зависала...
ИЛИ включить сначала atmega16 и одну из atmega8, снова все работает, опрашивается 1 контроллер да и все, только включаеш вторую atmega8, снова виснет все и atmega16 и atmega8 - обе... и кроме ресета всех контроллеров, ничего не помогало (или дернуть питание, само-собой)

возможно это поправить программно? Это наверно надо смотреть библиотеки FlowCode...
Кто сталкивался с такой проблемой или вообще есть какие мнения, буду рад... заранее спасибо!
Реклама
Мудрый кот
Аватара пользователя
Сообщения: 1817
Зарегистрирован: Пн ноя 29, 2010 15:58:43

Сообщение igor-x »

с Flowcode не сталкивался, но попробую предложть задействовать WatchDog. + небольшое усложнение протокола на случай перезагрузки произвольного из МК
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3872
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Сообщение Engineer_Keen »

thebonix писал(а):пробывал както делать примерчик, состоял он из основного устройства(atmega16) и двух дополнительных(на atmega8), логика такая, atmega16 опрашивает по очереди каждую atmega8, те в ответ тоже посылают пару байт, своего рода пинг...
Т.е. TX обеих 8-х мег был тупо соединен с RX 16-й меги? На время, когда не было передачи от 8-х мег надеюсь хоть их передатчики отключались (бит TXEN регистра UCSRB)? Иначе был был логический конфликт на линии.
Мудрый кот
Аватара пользователя
Сообщения: 1817
Зарегистрирован: Пн ноя 29, 2010 15:58:43

Сообщение igor-x »

а давайте посмотрим схему :)) ?
но если все соединено напрямую - то это косяк, межконтроллерные соединения лучше делать на TWI
Реклама
Эиком - электронные компоненты и радиодетали
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»