The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"COM-порт, данные приходят не сразу"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [ Отслеживать ]

"COM-порт, данные приходят не сразу"  +/
Сообщение от coderrr on 04-Дек-09, 14:42 
Небольшой код открывает /dev/ttyS0 и шлёт туда разные пакеты.  Проблема в том, что они не всегда доходят. Например, отправляю 2 раза, через write, сам write возвращает оба раза целое положительное число, т.е. ошибок нет. Но устройство получает только вторую посылку.
Есть предположения, что это как-то может быть связано с буферизацией данных системы. Подскажите плиз куда копнуть или как хотя бы отладить это дело.
Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "COM-порт, данные приходят не сразу"  +/
Сообщение от Andy_zzzzzz on 04-Дек-09, 15:09 
>Небольшой код открывает /dev/ttyS0 и шлёт туда разные пакеты.  Проблема в
>том, что они не всегда доходят. Например, отправляю 2 раза, через
>write, сам write возвращает оба раза целое положительное число, т.е. ошибок
>нет. Но устройство получает только вторую посылку.
>Есть предположения, что это как-то может быть связано с буферизацией данных системы.
>Подскажите плиз куда копнуть или как хотя бы отладить это дело.
>

The tcdrain() function waits until all output written to the object referred to by fildes is transmitted.

ну или ioctl ( _port, TIOCDRAIN, 0 )

тут еще вопросик - вы с девайсом общаетесь по 232 интерфейсу или через конвертор  ? ( и вообще по какому интерфейсу общаетесь ? )

если через конвертор то проблема может быть в нем ....

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "COM-порт, данные приходят не сразу"  +/
Сообщение от coderrr on 04-Дек-09, 20:00 
>если через конвертор то проблема может быть в нем ....

нет, напрямую
а за TIOCDRAIN спасибо, как-то упустил её
буду пробовать

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "COM-порт, данные приходят не сразу"  +/
Сообщение от ACCA (ok) on 12-Дек-09, 21:51 
>>если через конвертор то проблема может быть в нем ....
>
>нет, напрямую
>а за TIOCDRAIN спасибо, как-то упустил её
>буду пробовать

Ещё учти, что в контроллере COM-порта (16550 и подобных) - буфер на 16 байтов. Ты мог не дождаться, пока они дойдут.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "COM-порт, данные приходят не сразу"  +/
Сообщение от аноним on 07-Дек-09, 17:55 
>Небольшой код открывает /dev/ttyS0 и шлёт туда разные пакеты.  Проблема в
>том, что они не всегда доходят. Например, отправляю 2 раза, через
>write, сам write возвращает оба раза целое положительное число

А это "целое положительное число" равно размеру данных, которые вы писали?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "COM-порт, данные приходят не сразу"  +/
Сообщение от coderrr on 12-Дек-09, 20:22 
>А это "целое положительное число" равно размеру данных, которые вы писали?

Да

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру