реклама на сайте
подробности

 
 
> проблема с уарт Mega64, атипичная проблема с передачей по UART
CrazyAlex
сообщение Jun 4 2007, 06:45
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 57
Регистрация: 11-01-05
Из: Пермь
Пользователь №: 1 881



не могу понять в чем дело:

устройство: Мега->485->Adam->PC

софт: iccAVR6.31a, AVRstudio, jtag ice mk2 (не совсем софт), на PC самописный модбас-мастер (проверен временем), а также терминалка.

протокол модбас RTU, чтение регистров (03) идет на ура, запись (06) в регистр значение 511 - все отвечает правильно. запись значения 512 - вместо ответа какая-то хрень, число байт хрени совпадает с числом байт в ответе. причем эта самая хрень каждый раз разная. хотя запрос один и тот же.

смотрю в авр студии.
пакет приходит, регистр меняется на нужное значение, формируется в буферном массиве frame1 ответ (правильный ответ).
Портится на этапе UDR1=frame1[0], UDR1=frame1[outbytecnt]. т.е. в UDR1 или пишется что-то не то, или в нем самом портится..., т.е. PC принимает совсем не то что я записываю в UDR.
Если поставить точку останова на UDR1=frame1[0], и потом по шагам, то все отвечает нормально.

Исходники прилагаю.

Уже мозг сломал. Подскажите кто-нибудь где копать???
Прикрепленные файлы
Прикрепленный файл  m64uart.ZIP ( 14.07 килобайт ) Кол-во скачиваний: 48
 
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th June 2025 - 14:20
Рейтинг@Mail.ru


Страница сгенерированна за 0.01388 секунд с 7
ELECTRONIX ©2004-2016