I get bytes from the serial port which represents the voltage on my PIC board.
But I can't convert these bytes(strings) to decimal because I get the error message above.
Here is the function(in fact, it's associated with tkinter button)
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: 'x0exa3'
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
and i get this :
Voltage on channel8 is: (28942,)
can you please explain how did i get this value? it's not matching anything :D
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…