У меня проблема, я не могу решить проблему. Я использую python на малине pi для чтения из USB-соединения на pi (который преобразуется из последовательного интерфейса).USB Последовательная передача данных тарабарщина
я могу подключиться к порту USB и начать получать данные с кодом
ser = serial.Serial("myUsbPortID", 9600)
bytes = ser.inWaiting()
print ser.read(bytes)
я знаю, что скорость передачи данных составляет 9600 (производители аппаратных документы), но по какой-то причине, когда я пытаюсь читать поток данных я получаю много тарабарщины в виде разных языков и персонажей. После того, как я убил программу, мой экран по-прежнему заменяет мои символы данными о тарабарщинах, когда я печатаю.
Я уверен, что это не поток данных, отправляемых аппаратным обеспечением. что-то где-то конвертирует вещи, но я понятия не имею, что это может быть.
Когда я загружаю устройство, и он инициализируется, тогда я получаю читаемую информацию. но когда устройство начнет работать, я получаю только эти странные символы
есть ли способ конвертировать эти символы в данные, которые он фактически входит?
пример ПОС: output screen
Вы отправляете байты или текст? Если байты затем просто напечатают его в шестнадцатеричном виде, и вы увидите, что хотите. –
Работает ли она в миникомпьютере/гипертермии? правильно ли конфигурация байтов/стоп-бит? можете ли вы сбросить гекс? какие данные вы ожидаете (и какое у вас устройство)? – Marat
это выглядит как ошибка конфигурации (скорость передачи, бит запуска/остановки, управление потоком, ...). использовать терминальную программу и проверить возможные конфигурации. другой очень необычной ошибкой является ошибка порядка битов (если устройство сначала отправляет LSB, а сервер ожидает MSB), однако это действительно необычно. –