首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LTC6811通过I2C写入ADG728开关/复用器

LTC6811通过I2C写入ADG728开关/复用器
EN

Stack Overflow用户
提问于 2021-12-29 02:39:11
回答 1查看 74关注 0票数 0

我的设置包括一个LTC6811 (数据表)和一个ADG728交换机/复用器(数据表)。目的是通过ADG728开关/多路复用器通过I2C一次从选定的通道读取电池温度数据。

开关/多路复用器的地址是0x4C。下面是我整理的顺序。

ICOM03 03:0-0x6(开始),D07:4-0x9(1001),D03:0-0x8(1000),FCOM03 03:0-0x8(主NACK) (D0作为mux 7位地址+写位) ICOM13 13:0--0x0(空白),D17:4--0x0(0000),D13:0-0x1(0001),FCOM13 13:0-0x9(主NACK + STOP) (D1作为mux通道: 0b00000001)

我将序列打包到tx_data数组中(参见DC2259 of LTSketchbook)。

代码语言:javascript
复制
BMS_IC[current_ic].com.tx_data[0]= 0b01101001; // 0x69;
BMS_IC[current_ic].com.tx_data[1]= 0b10001000; // 0x88;
BMS_IC[current_ic].com.tx_data[2]= 0b00000000; // 0x00;
BMS_IC[current_ic].com.tx_data[3]= 0b00011001; // 0x19;

然后,在调用ADAX和RDAUX命令从GPIO1读取数据之前,调用WRCOMM和STCOMM (数据长度= 2)命令。我想知道上面的序列是否有问题,因为我无法从GPIO1读取有效值。任何想法或帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2022-07-13 09:52:48

你解决这个问题了吗?我认为您需要3的长度来确保i2c初始化。在"9“之后用"7”填充其余的数据以忽略。

见数据表

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70514603

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档