我正在使用一些嵌入式硬件,即使用 Dynamic C 9 的 Rabbit SBC。
我正在使用微控制器使用其串行端口之一从数字罗盘传感器读取信息。
传感器使用单个有符号字节将值发送到微控制器。(-85 到 85)
当我收到这些数据时,我将它放入一个char
变量中
这适用于正值,但是当传感器开始发送负值时,读数会跳到 255,然后又回到 0。我认为这是因为最后一位用于确定负/正,并且正在扭曲真实价值。
我最初的想法是将我的数据类型更改为signed char
.
但是,我遇到的问题是我使用的微控制器上的 Dynamic C 版本本身不支持有符号字符值,只支持无符号值。
我想知道是否有办法将我收到的数据手动转换为有符号值?