Каково различие между/dev/tty* и/dev/bus/usb/001/002?

Когда я включаю устройство, которое использует платформу USB LUFA (или любой USB <-> последовательное периферийное устройство), Ubuntu создает a /dev/ttyACM* файл устройств. Это также создает a /dev/bus/usb/001/002 файл и a /sys/bus/usb/devices/usb1/1-1/1-1.3/1-1.3.1/ дерево.

Каковы различия между ними? Я спрашиваю, потому что я использую pyudev, который обеспечивает узлы устройства такой как /dev/bus/... пример, но я не знаю, отличается ли это от tty. Это?

5
задан 18 March 2014 в 04:38

1 ответ

/sys/bus/usb/devices/* дерево описывает всю физическую топологию USB и содержит метаданные о каждом устройстве.

/dev/bus/usb/<bus number>/<device number> устройства обращаются к каждому устройству упрощенным способом (таким образом, Вы не должны заботиться о том, подключено ли устройство непосредственно или через один или несколько концентраторов USB, просто выберите правильную шину), и позволяет передающие необработанные пакеты USB устройству. С USB последовательный преобразователь Вы могли бы отправить пакет запроса и возвратить ответ, описывающий текущее состояние линий квитирования последовательного порта.

/dev/ttyACM* устройство, с другой стороны, скрывает сложность Шины USB и позволяет Вам управлять последовательным портом USB <-> последовательное периферийное устройство в значительной степени как непосредственно соединенный последовательный порт со всеми функциями стиля Unix tty драйвер. Из-за задержек, вызванных Шиной USB, некоторые вещи не могут работать, а также с "реальным" последовательным портом: в частности, пытается к разрядному удару, строки управления с точной синхронизацией не могли бы работать.

3
ответ дан 23 November 2019 в 10:28

Другие вопросы по тегам:

Похожие вопросы: