28 Март, 2024, 22:10:07
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
English
Russian
Сайт СВД ВС
Начало
Помощь
Поиск
Войти
Регистрация
Официальный форум СВД Встраиваемые Системы
>
Форум СВД ВС
>
Техническая поддержка
(Модератор:
Андрей Сеньков
) >
Разрыв передачи пакетов через Dev.ser на LPC Nuvoton
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Разрыв передачи пакетов через Dev.ser на LPC Nuvoton (Прочитано 911 раз)
Konstantin
Интересующийся
Сообщений: 7
Разрыв передачи пакетов через Dev.ser на LPC Nuvoton
«
:
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
Пользователь
Сообщений: 13
Re: Разрыв передачи пакетов через Dev.ser на LPC Nuvoton
«
Ответ #1 :
19 Январь, 2020, 23:02:05 »
не поможет обсуждение ? (7 страниц)
http://qnx.org.ru/forum/index.php?topic=4841.0;imode
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Форум СВД ВС
-----------------------------
=> Информация
=> Техническая поддержка
=> Программное обеспечение
=> Инструментальные средства
=> Обсуждение сайта
=> Курилка
-----------------------------
International Forum
-----------------------------
=> English Discussion
Загружается...