Официальный форум СВД Встраиваемые Системы
27 Мая, 2020, 18:15:06 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
 
 
 Сайт СВД ВС  Начало   Помощь Поиск Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: Разрыв передачи пакетов через Dev.ser на LPC Nuvoton  (Прочитано 437 раз)
Konstantin
Интересующийся

Сообщений: 7


« : 18 Января, 2020, 21:55:45 »

Столкнулся с проблемой - отказ устройства modbus-RTU через RS-485 на машине с LPC Nuvoton под ОС QNX-4.25. Покупное устройство зависает после достаточно продолжительной работы. В процессе поиска причины выяснилось, что пакет Modbus Dev.ser разрывает на части очень редко. Конечно устройство должно правильно отреагировать и это его проблема. Но что происходит в Dev.ser стал выяснять. Оказалось, что если выполнять по таймеру 50 мс вывод блока данных через write() для /dev/ser в осциллограф периодически проходит разрыв порядка нескольких байтов на 115200. При этом разрыв последовательно перемещается начиная с начала посылки и заканчивая концом - далее идет без разрывов и ситуация повторяется через некоторое время. Похоже на биения, но выявить источник не получится наверное. Я пошел другим путем - взял один из исходников последовательного устройства и решил его заточить под Nuvoton. Идея была использовать FIFO на передачу, чтобы сразу забить всю посылку в буфер. Но выяснилось, что Dev менеджер не хочет выходной буфер передавать полностью и в функции Kick() obuf->size всегда равен 1. Получается, что Dev менеджер передает в буфере данные побайтно. Разница tail-head тоже всегда равна 1. Не могу понять, как настроить канал для того, чтобы функция write() выдавала сразу весь блок в буфере obuf. Канал использую в режиме raw.
Описания всех полей obuf нет, остается только догадываться. Может быть есть исходники Dev менеджера, чтобы разобраться с условиями его работы с Dev.ser?
Записан
r1k
Интересующийся

Сообщений: 8


« Ответ #1 : 19 Января, 2020, 23:02:05 »

не поможет обсуждение ? (7 страниц)
http://qnx.org.ru/forum/index.php?topic=4841.0;imode
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP © 2002-2020 СВД Встраиваемые Системы.
При использовании материалов сайта ссылка на forum.kpda.ru обязательна.

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines | © Aiwan. Kolobok smiles | Sitemap
Valid XHTML 1.0! Valid CSS!
Сайт СВД ВС

В последний раз google посещал эту страницу 21 Января, 2020, 02:59:29