威纶通官方论坛

FreeProtocol宏指令char数据类型超过127问题

[复制链接]
发表于 2014-10-4 19:47:23 | 显示全部楼层 |阅读模式
FreeProtocol宏指令读取了串口数据后,发现char response[32],定义的是char类型。
此类型数据范围-127~+127,也就是说8位数据,只用了后7位,第8位作为了正负号用。
但是串口发过来的数据有的是要超过127的。8位数据最大到255.这样都被当做了负数。

如果此时response[i]直接当做显示,还没有问题。
  SetData(response[1], "Local HMI", LW, 100, 1)
只要再LW100设置成16-bit unsigned,可以直接显示大于127的数字。

但是如果读出的数据需要进行数字运算的话,就只能当做负数了。

这样就明显会出错。

请问大虾怎么解决这个问题?谢谢!
 楼主| 发表于 2014-10-4 21:13:08 | 显示全部楼层
坛主在哪里?
 楼主| 发表于 2014-10-5 18:15:13 | 显示全部楼层
没人回答,我自己答了啊。
您需要登录后才可以发帖 登录 | 注册

本版积分规则

回复帖子

Archiver|小黑屋|威纶通官网 ( 粤ICP备06054553号 )

GMT+8, 2024-11-22 05:28

Powered by Discuz! X3.4

© 2001-2023 Comsenz Inc.

快速回复 返回顶部 返回列表