Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 2, 2023 14:57:45

xlkpyton
Зарегистрирован: 2023-06-02
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Некорректная передача символов в COM порт

Добрый день, подскажите пожалуйста.
Имею устройство 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)

Устройство на команды из питона почему-то не реагирует.

Офлайн

#2 Июнь 2, 2023 23:46:41

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9849
Репутация: +  853  -
Профиль   Отправить e-mail  

Некорректная передача символов в COM порт

xlkpyton
  
ser.write(b"$KE,WR,7,1")
  
ser.write(b"$KE,WR,7,1\r\n")



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version