Найти - Пользователи
Полная версия: Некорректная передача символов в COM порт
Начало » Python для новичков » Некорректная передача символов в COM порт
1
xlkpyton
Добрый день, подскажите пожалуйста.
Имею устройство Ke-USB24R (микроконтроллер pic18f4550)

Из описания устройства:

“Для управления модулем KE-USB24A предназначен ряд команд в текстовом формате,
называемых КЕ командами. Любая KE команда, отсылаемая модулю, должна начинаться с
символов ‘$KE’. Также все команды должны заканчиваться символом возврата каретки <CR> и
символом перехода на новую строку <LF> (в шестнадцатеричном формате эти символы имеют
коды 0x0D и 0x0A соответственно).
Ответы модуля на команды, а также отдельные информационные блоки выдаваемые модулем
всегда начинаются с символа ‘#’ (шестнадцатеричный код 0x23) и заканчиваются символами
возврата каретки <CR> и перехода на новую строку <LF>.
Далее по тексту документа символы <CR><LF>, которыми должна заканчиваться любая
команда модулю и любой ответ выдаваемый модулем, опускаются.
В том случае, если, синтаксис команды, отправленной модулю не является верным, модуль
выдает сообщение об ошибке: #ERR”

Управление устройством через hyper терминал или Hercules( тут нужно дублировать знак доллара) работает отлично.
Отправляя в терминал команду:

$KE,WR,7,1 - на выводе 7 появляется напряжение.

$KE,WR,7,0 - на выводе 7 напряжения нет


Но при попытке написать программу управления на Python, не получается корректно отправить из питона в порт команды для устройства.

import serial
import time
with serial.Serial() as ser:

ser.baudrate = 9600
ser.bytesize=8
ser.port = ‘COM19’
#ser.xonxoff = 0
ser.rtscts = 0
ser.open()
time.sleep(2)
ser.write(b“$KE,WR,7,1”)
print(ser)

Устройство на команды из питона почему-то не реагирует.
py.user.next
xlkpyton
  
ser.write(b"$KE,WR,7,1")
  
ser.write(b"$KE,WR,7,1\r\n")
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB