2013-09-13 5 views
0

Я пытаюсь читать на /dev/ttyUSB0, но я получаю искаженные данные, я уже пробовал cat, dd и libusb привязок для Node.js, все они имеют один и тот же результат.Чтение/DEV/ttyUSB0 дает испорченные данные

Устройство, подключенное к этому порту USB, отправляет постоянный поток данных, и я думаю, что ОС может быть проблемой.

Я использую поток данных для построения диаграмм. Я вижу, что поврежденные данные в диаграммах являются регулярными и последовательными ошибками.

Я использую Raspbian, есть ли что-нибудь, что я могу сделать, чтобы сообщить ОС выполнить только мою программу и ничего больше?

ответ

0

Предполагаете, что вы подтвердили, что порт настроен на правильные настройки бод/поток/etc?

Запущенная -F/DEV/ttyUSB0 -a

+0

Да https://gist.github.com/cranic/6550577 –

+0

Установка бода на максимум не помогла, такая же проблема ... –

+0

Можно ли печатать данные? Если нет, я полагаю, что возможно, что контрольный символ проходит через неэкономный. Если данные могут быть распечатаны, у вас есть миникомпьютер? Вы могли видеть поток с этим. – irrogical

0

Решение мы выбираем, чтобы использовать libusb вместо этого. Да, это связано с разработкой пользовательских наземных приложений, с которыми можно справиться. Мы также видим некоторые проблемы с/dev/ttyUSBx. Путь драйвера слишком длинный, он включает слишком много отдельных драйверов, любая проблема в любом из этих драйверов вызовет проблему.

0

У меня была очень похожая проблема, и ни minicom, ни kermit не работали, и я почти уверен, что это было из-за непечатаемых символов.

Использование pyserial в python все работает как шарм.

Это чрезвычайно прост в использовании. В качестве примера:

ser = serial.Serial('/dev/ttyUSB0', 9600, timeout=1) 
x= ser.read()   # read one byte 
s = ser.read(10)  # read up to ten bytes (timeout) 
line = ser.readline() # read a '\n' terminated line 
ser.close() 

Вы можете найти больше примеров на documentation.

Смежные вопросы