Я не могу понять, как остановить преобразование шестнадцатеричного числа в байт, используя представления шестнадцатеричнPython

Программы на Python
Ответить Пред. темаСлед. тема
Гость
 Я не могу понять, как остановить преобразование шестнадцатеричного числа в байт, используя представления шестнадцатеричн

Сообщение Гость »


Я работаю с программой, которой необходимо вывести эту команду в последовательный порт:

b'\x01\x10\x00\x08\x00\x02\x04\x00\x00\x16\x43\xe7\xf5'

Он использует следующую функцию, чтобы принять предварительно отформатированную команду и упаковать ее перед отправкой по последовательной линии.

def pumpSendData(команда): темп = команда.split("%") если(temp[0] == "SETFLOW"): #data = (str(command_dict[temp[0]])).format(temp[1]) данные = "01 10 00 08 00 02 04 00 00 16 43 E7 F5" еще: данные = command_dict[str(temp[0])] распечатать (данные) данные = data.replace(" ","") распечатать (данные) data_bytes = bytes.fromhex(данные) печать (байты_данных) пытаться: ПМПсер.open() кроме: ПМПсер.закрыть() ПМПсер.open() PMPser.write(байты_данных) время.сон(0.1) ответ = PMPser.readline() response_str = ' '.join([format(res, '02X') для разрешения в ответе]) ПМПсер.закрыть() печать(response_str) вернуть ответ_строка Учитывая ожидания этой функции, я не могу понять, почему она преобразует 4-й шестнадцатеричный байт значения в представление ascii и объединяет его со значением, предшествующим ему, вместо того, чтобы просто создавать еще один раздел в последовательном файле. нить. Ниже приведен пример вывода терминала.

0110000800020400001643E7F5 b'\x01\x10\x00\x08\x00\x02\x04\x00\x00\x16C\xe7\xf5' Дайте мне знать, если у кого-нибудь есть идеи или вопросы по этой проблеме.

Я пробовал изменить способ предварительного форматирования команды, но, похоже, это ничего не меняет. Я не знаю, как запретить bytes.fromhex(data) использовать представление чисел в формате ascii.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ, комментарий, отзыв

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»