ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
19 марта
1576692 Топик полностью
Eddy_Em (Сегодня, 00:24, просмотров: 14) ответил IBAH на Этот код работал с CH340. А переехал на FTDI начал 0х0D воровать. А вот с другим преобразователем CH343G другие проблемы, исчезают пакеты (Модбас РТУ), передача прошла, а до МК не дошла. И определился как то странно "ttyACM0". А в винде CH343G работает нормально.
Все стандартные ACM в линуксе именно как /dev/ttyACMx определяются. Можно сделать /dev/ttyUSBx, но тогда придется либо эмулировать какое-нибудь нестандартное устройство, либо вмешиваться в код существующих модулей ядра. 

А чтобы получать красивые имена устройств, я udev-скрипт использую, вот здесь- в самом конце. Нужно лишь в своем устройстве каждому интерфейсу назначить человекочитаемое имя. Зато пользователь может его поменять и во флешке сохранить. И в итоге потом хоть 10 одинаковых устройств подключай - все интерфейсы будут иметь разные имена, не спутаешь.

Чтобы так делать, меня побудил тестовый запуск одного из разрабатываемых спектрографов: там было то ли три, то ли четыре моих устройства, все /dev/ttyACMx. И, чтобы определить, кто есть где, приходилось вначале ручками каждое открывать и набирать хэлп, а потом уже в конфиг-файле рисовать актуальные пути. Зато потом все стало просто: "застолбил" в конфиге пути и спокойно из /etc/local.d этот скрипт запускаешь на старте системы. Или можно тем же udev'ом запускать/тормозить при подключении/отключении устройства.

eddy-em.livejournal.com github.com/eddyem