我从串行端口获取字节,代表我的PIC板上的电压。 但我不能将这些字节(字符串)转换为十进制,因为我得到上面的错误消息。 下面是函数(事实上,它与Tkinter的按钮关联)ValueError:无效文字为int()与基地16:' x0e xa3'Python
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
示例int *可以*为无符号(''H'),值为41742或有符号,值为-23794 .. – 2012-08-06 10:06:31
感谢您的回答,请问您能解释更多吗?我是一个开始:) – safsaf88 2012-08-06 10:10:36
当然,我添加一些更多的解释。 – 2012-08-06 10:19:42