python2.7을 사용하고 있는데이 코드가 있습니다. 데이터 값은 0에서 65792.Python struct.pack() 데이터 범위 오류
data_length=30
code=202
data=[51400,31400,100,51400,31400,100,51400,31400,100]
checksum = 0
total_data = ['$', 'M', '<', data_length, code] + data
for i in struct.pack('<2B%dh' % len(data), *total_data[3:len(total_data)]):
checksum = checksum^ord(i)
total_data.append(checksum)
try:
b = None
b = self.ser.write(struct.pack('<3c2B%dhB' % len(data), *total_data))
except Exception, error:
print "\n\nError in sendCMD."
print "("+str(error)+")\n\n"
pass
struct.pack('<2B%dh' % len(data), *total_data[3:len(total_data)]):
에 범위이며, 나에게이 오류 제공 : 반바지 서명으로
for i in struct.pack('<2B%dh' % len(data), *total_data[3:len(total_data)]):
struct.error: short format requires SHRT_MIN <= number <= SHRT_MAX
입니다.'h'는 부호있는 short 값이고 최대 양의 값은 32768입니다.'H'는 부호없는 short이고 최대 값은 65535입니다. – tdelaney