#serial-port #usb #hardware
#последовательный порт #usb #аппаратное обеспечение
Вопрос:
У меня есть Microsoft Surface Book, на котором я дважды загрузил Linux Mint. Я пишу программу, которая должна считывать данные с последовательного порта, но мои последовательные порты, похоже, не работают. Поведение одинаково для Mint и Windows (тестирование выполнено через Cygwin). Он получает немного данных в первые 2-5 секунд, когда устройство подключено (просмотр данных через экран, то же самое происходит, если я просто использую pyserial для печати данных, поступающих с последовательного порта), затем ничего.
Что может происходить? Я думаю, что я изолировал проблему от последовательных портов — Surface Book имеет 2 USB-порта, и то же самое происходит на обоих из них, и я протестировал оборудование, которое я подключаю к нему на 2 других компьютерах (один Linux и один Mac OS), и он отлично работает на обоихиз них.
Комментарии:
1. Какой аппаратный адаптер для подключения USB к serial? Драйверы для них имеют большое значение. Мне больше всего повезло с адаптерами на основе FTDI.
2. «Я пишу программу …» — Значит, вы решили, что это проблема HW, а не подозреваете о своем новом коде?
3. @sawdust да, потому что, как я уже сказал, я протестировал его на экране, и он работал так же, как и мой код, и, выполнив тот же тест на ноутбуке друга с экраном, он работал нормально. Также мой код отлично работает на этом ноутбуке (и 2 других)
4. @Phil Не уверен, что вы имеете в виду — конкретная настройка — это pixhawk с разъемом microusb -> USB A, подключенным к последовательному порту surface book. Я попробую обновить драйверы USB, хорошая мысль.
5. Ваше неразборчивое использование жаргона и простого английского языка сбивает с толку. Например, «бит данных» , «просмотр данных через экран» (является ли «экран» программой?). Итак, вы говорите, что ваш планшет имеет порты RS232, когда вы пишете «последовательный порт Surface book» ? К вашему сведению, USB-порты никогда не следует называть «последовательными портами» .
Ответ №1:
На вашем MS Surface, по-видимому, есть желтый треугольный значок восклицательного знака (над значком адаптера) без какого-либо драйвера для установки / загрузки. И в свойствах в окне состояния устройства укажите This device cannot start. (Code 10)
или A device which does not exist was specified
. Верно?
Если это так, вам следует дождаться обновления от MS. Это печально известная проблема.
Комментарии:
1. Это не отвечает на вопрос — извините, если было неясно, но я дважды загружаю Windows и Linux Mint на Surface Book. Поэтому маловероятно, что проблема связана с драйвером Windows.
Ответ №2:
В итоге я заменил компьютер по гарантии на несвязанную проблему несколько месяцев спустя, и что вы знаете, на новом компьютере последовательные порты работают нормально. Это указывает на какую-то аппаратную проблему, учитывая, что проблема сохранялась во всех ОС.
Ответ №3:
может быть, это поможет:
смотрите Примеры Arduino для связи с последовательным портом — поиск в Google:
- arduino serial c
- arduino serial c#
- arduino serial c linux
дело в том, что для правильного открытия порта вам нужно открыть файл, а не порт. не при обычной записи c -assembly в код порта.
другой вариант, если вы используете непреднамеренно купленный поддельный кабель USB to serial с поддельным чипом PL2303, тогда вам необходимо установить старую версию драйвера. поиск в Google:
Поддельный PL2303 имя вашей операционной системы:
установите поддельный драйвер PL2303 для Windows 10
другой вариант, возможно, он экономит энергию и закрывает порт, потому что он чувствует, что он не используется.
в Windows> диспетчер устройств> свойства устройства — обычно корневой USB-концентратор> управление питанием — разрешить компьютеру выключать это устройство для экономии энергии — снимите флажок.
https://superuser.com/questions/408683/why-my-usb-mouse-gets-suspended-after-3-seconds-of-inactivity
кроме того, вы можете посмотреть в событиях Windows — посмотреть, что произойдет. обычно подобные сбои регистрируются в журнале событий.
маловероятный вариант — он потребляет слишком много тока, например, короткое замыкание. и схема защиты устройства отключает микросхему. также, вероятно, у него нет такой схемы. одна из возможностей — попробовать использовать внешний концентратор с питанием.
наиболее вероятным из них является механизм энергосбережения
Комментарии:
1. Как уже упоминалось, устройство, которое я использую, работает на компьютерах, отличных от моего, используя те же методы. Кроме того, проблема сохраняется во всех ОС
Ответ №4:
Я столкнулся с той же проблемой — наткнулся на решение на другом сайте. Порты USB 3 на Surface Book несовместимы с чем-либо, связанным с Com-портом, но запуск устройства через дешевый USB-концентратор сразу решил мою проблему, и она была мгновенно распознана Arduino IDE