找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2133|回复: 4
打印 上一主题 下一主题
收起左侧

这255为啥要减得到的值 value0 = 255-(uint)GetADCResult(0);

[复制链接]
跳转到指定楼层
楼主
ID:609147 发表于 2019-11-9 16:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:235200 发表于 2019-11-9 17:42 | 只看该作者
进行求补运算,因为读出的值是补码
回复

使用道具 举报

板凳
ID:245004 发表于 2019-11-9 17:49 | 只看该作者
value0 = 255 - (uchar)GetADCResult(0);
假如是上面这样就很好理解了。
因为uchar类型值的范围是0~255, 255减一个数就相当于那个数取反。
等同于下面的表达式:
value0 = ~(uchar)GetADCResult(0);

GetADCResult(0)的返回值转换成uchar类型,假如是0,取反后就是255;假如是255,取反后就是0;假如是128,取反后就是127.

但是你的公式是(uint)类型,这个就有点费解了,还得根据上下文内容去判断了。

回复

使用道具 举报

地板
ID:609147 发表于 2019-11-11 11:02 | 只看该作者
bh2030693 发表于 2019-11-9 17:49
value0 = 255 - (uchar)GetADCResult(0);
假如是上面这样就很好理解了。
因为uchar类型值的范围是0~255,  ...

感谢回复
回复

使用道具 举报

5#
ID:609147 发表于 2019-11-11 11:03 | 只看该作者
csmyldl 发表于 2019-11-9 17:42
进行求补运算,因为读出的值是补码

感谢回复
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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