ValueError :неверный литерал для int ()с основанием 16 :'\x0e\xa3' Python

Я получаю байты от последовательного порта, который представляет напряжение на моей плате PIC. Но я не могу преобразовать эти байты (строки )в десятичные числа, потому что я получаю сообщение об ошибке выше. Вот функция (на самом деле она связана с кнопкой tkinter)

def channel8():
    ser.write(chr(0xFF))
    print "you have select channel8"
    x=ser.read(2)
    w=int(x, 16)
    print w
    print "Voltage on channel8 is:", x

ValueError: invalid literal for int() with base 16: '\x0e\xa3'

def channel8():
    ser.write(chr(0xFF))
    print "you have select channel8"
    x=ser.read(2)
    z=struct.unpack("h", x)
    #w=int(z, 16)
    print z

и я понимаю это:

Voltage on channel8 is: (28942,)

не могли бы вы объяснить, как я получил это значение? ничего не соответствует :D

5
задан bubakazouba 18 May 2016 в 00:46
поделиться