Форум сайта python.su
Добрый день, подскажите пожалуйста.
Имею устройство 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)
Устройство на команды из питона почему-то не реагирует.
Офлайн
xlkpytonser.write(b"$KE,WR,7,1")
ser.write(b"$KE,WR,7,1\r\n")
Офлайн