FreeProtocol宏指令char数据类型超过127问题
FreeProtocol宏指令读取了串口数据后,发现char response,定义的是char类型。此类型数据范围-127~+127,也就是说8位数据,只用了后7位,第8位作为了正负号用。
但是串口发过来的数据有的是要超过127的。8位数据最大到255.这样都被当做了负数。
如果此时response直接当做显示,还没有问题。
SetData(response, "Local HMI", LW, 100, 1)
只要再LW100设置成16-bit unsigned,可以直接显示大于127的数字。
但是如果读出的数据需要进行数字运算的话,就只能当做负数了。
这样就明显会出错。
请问大虾怎么解决这个问题?谢谢! 坛主在哪里? 没人回答,我自己答了啊。
页:
[1]