pySerial получает как ASCII, как преобразовать в целое число?

#python #pyserial

#python #pyserial

Вопрос:

Я использую pySerial для общения с модулем MSP430. Этот модуль передает по последовательному каналу, и я использую pySerial для чтения (как в com.read (20)). Но тип того, что получает pyserial, — ascii. Поэтому, когда я отправляю 0x37 из MSP430, он получает его как ‘7’, и все это затем передается мне в виде строки, что-то вроде «7☺7» для [0x37 0x1 0x37]. Как мне получить мои данные в том же формате массива, который я намереваюсь. Следующий шаг — построить его с помощью pylab.

Ответ №1:

Распакуйте данные с помощью struct :

 >>> import struct
>>> data = 'x37x01x37'
>>> struct.unpack('!BBB', data)
(55, 1, 55)
  

Комментарии:

1. Большое вам спасибо за это, сработало как шарм (может быть, лучше)