找回密码
 立即注册

QQ登录

只需一步,快速开始

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

单片机hx711驱动程序 count=count^0x800000不理解

[复制链接]
跳转到指定楼层
楼主
ID:839001 发表于 2020-12-18 17:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在hx711里读出24位的数据count后,为什么还要count=count^0x800000,这句语句是什么作用,一直搞不清楚。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:111517 发表于 2020-12-18 21:28 | 只看该作者
https://blog.csdn.net/yanjinxu/article/details/47861323 我也今天下午刚看到这个传感器,这里搞不懂。这个博客讲的挺好的
回复

使用道具 举报

板凳
ID:839001 发表于 2020-12-21 09:10 | 只看该作者
沧浪 发表于 2020-12-18 21:28
https://blog.csdn.net/yanjinxu/article/details/47861323 我也今天下午刚看到这个传感器,这里搞不懂。这 ...

好的,太感谢了
回复

使用道具 举报

地板
ID:115923 发表于 2020-12-21 09:54 | 只看该作者
以为读取的值, 最高位是符号位,  异或即“两个输入相同时为0,不同则为1”,  
这样 最高位是1, 表示负值,  与1异或后变成0,
正常 最高位是0, 正值范围,  与1异或后变成1,
而其他位, 如果是0异或后为0, 如果是1异或后变成1, 相当于没有变.
这样 做的效果是:  数据会一直往上增长,我们可以直接拿来进行使用, 不用受符号位影响
回复

使用道具 举报

5#
ID:839001 发表于 2020-12-21 17:17 | 只看该作者
zhaobolove 发表于 2020-12-21 09:54
以为读取的值, 最高位是符号位,  异或即“两个输入相同时为0,不同则为1”,  
这样 最高位是1, 表示负值,  ...

但是最高位是0的时候不是正数吗,异或后就变成了1,这样有什么意义。
回复

使用道具 举报

6#
ID:844772 发表于 2020-12-21 20:19 | 只看该作者
水月sy 发表于 2020-12-21 17:17
但是最高位是0的时候不是正数吗,异或后就变成了1,这样有什么意义。

我也觉得没必要
回复

使用道具 举报

7#
ID:1024072 发表于 2022-6-4 09:30 | 只看该作者
zhaobolove 发表于 2020-12-21 09:54
以为读取的值, 最高位是符号位,  异或即“两个输入相同时为0,不同则为1”,  
这样 最高位是1, 表示负值,  ...

强啊哥哥,如果一开始没有重物时是正数也可以不用这么跟0x800000异或
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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