回  复

查看: 150 | 回复: 1

【求助】CH452两线接口ADDR、
3ric 发表于:2018-04-04 09:40:10 1# 编辑

1

主题

1

帖子

21

积分
等级

幼儿园

私信

“⑤ 以同样的方式,输出位数据DA1(总是1)、ADDR(地址选择)、B11~B8;”这里的ADDR位是一位吗?怎么得到的?和ADDR脚接高低电平有什么联系?手册里没有说明

// 2线接口的CH452定义

#define     CH452_I2C_ADDR0     0x40            // CH452的ADDR=0时的地址

#define     CH452_I2C_ADDR1     0x60            // CH452的ADDR=1时的地址,默认值

#define     CH452_I2C_MASK      0x3E            // CH452的2线接口高字节命令掩码



CH452_I2c_WrByte((unsigned char)(cmd>>7)&CH452_I2C_MASK|CH452_I2C_ADDR1);  // CH452的ADDR=1时(默认)

这个MASK和ADDR1从哪里得到的呢?读写为什么要这么操作?

还请工作人员或者大神能详细解答一下,谢谢!


~~稻草人 发表于:2018-04-12 16:06:08 2#

2

主题

133

帖子

144

积分
等级

小学三年级

私信

你好:

ADDR是1个位,这个值取决于 CH452芯片引脚管脚 ADDR,该引脚管脚内部上拉所以默认高电平,所以软件中这个位是1。


MASK和ADDR1是为了兼容I2C协议的数据格式要求写成这样。只要确保数据内容对可以了。

楼层回复

关闭

评分

关闭
积分 评分区间 今日剩余
评分扣除自身相应积分,普通会员最高加分3分 0~10 5
你需要登录才可以发帖