Как использовать последовательный порт в приложении Mono под Linux? - PullRequest
0 голосов
/ 31 марта 2020

Я бы хотел использовать приложение под Debian, которое написано на. net как следует. У меня нет источника, только файл .exe. Я установил моно из репозиториев Debian. Программа запускается и работает нормально.

Программа не сложная и использует последовательный порт. (Это программатор автомобильного ЭБУ.)

Программа, кажется, написана таким образом, я могу выбрать только COM0 ... COM100 в качестве последовательного порта, кажется, не подготовлен для Linux.

Есть ли способ заставить его работать под Linux?

Что я делал до сих пор, я добавил правило udev (ACTION == "add" KERNEL == "ttyUSB0" NAME = "COM0"), но это не сработало.

Есть ли какой-либо способ в операционной системе или на уровне моно-фреймворка, который соблазнил бы программу использовать / dev / ttyUSB0, выбрав «COM0» в самом приложении?

Сообщения об ошибках в приложении при попытке доступа к порту COM0: «CloseObdPort: ссылка на объект не установлена ​​на экземпляр объекта», а затем «Нет такого файла или каталога»

С уважением, Даниэль

Ответы [ 2 ]

0 голосов
/ 31 марта 2020

Я отвечаю на свой вопрос:

Решение удивительно простое: я создал символическую ссылку ./COM0 -> / dev / ttyUSB0

Таким образом, приложение искало " COM0 "в приложении root, он нашел символическую ссылку и сумел открыть порт.

0 голосов
/ 31 марта 2020

Убедитесь, что пользователь является членом группы дозвона. Вы можете сделать это с помощью команды 'groups'.

Чтобы добавить пользователя в группу dialout, вы можете использовать -: 'sudo adduser username dialout'

Из памяти я думаю, что вам нужно войти и обратно, чтобы вступить в силу.

...