У меня есть устройство ARM, которое подключено через USB к моему ПК.В Windows он указан в качестве последовательного порта на COM4 в качестве примера.
Интерфейс реализован с помощью драйвера Linux Gadget Serial на устройстве ARM.Что касается документации, он имитирует последовательное соединение только для подключенных устройств.
В dotnet core 3.0 теперь можно использовать пакет System.IO.Ports для открытия последовательного соединения и в Linux.
Проблема, с которой я сталкиваюсь, заключается в том, что устройство Gadget Serial не является действительным последовательным портом.
Например, когда я перечисляю все доступные имена портов с помощью SerialPort.GetPortNames()
, порт гаджета /dev/ttyGS0
отсутствует.
Это вывод на устройстве ARM:
/dev/ttyO2
/dev/ttyO0
/dev/ttyO3
/dev/ttyO1
Означает ли это, что /dev/ttyGS0
не является настоящим последовательным портом, и я не могу использовать его таким образом?
var port = new SerialPort("/dev/ttyGS0");
Я попробовал это таким образом, и это исключение, которое я получил.
Unhandled Exception: System.IO.IOException: Invalid argument
Как я могу получить доступ к устройству /dev/ttyGS0
для чтения и записи данных с помощью ядра dotnet?
Спасибо!