打印
[CC2640]

CC2640的I2C问题请教

[复制链接]
14001|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
flycamelaaa|  楼主 | 2020-12-8 09:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用CC2640 的I2C 模块给OPT3001光照芯片 写值,发现写不进去。该芯片寄存器是16位的,咱I2C模块可以写16位寄存器的值吗???

我就想给0x01寄存器写个0x54,0x10,代码如下:

void Set_OPT3001(uint8_t limit)
{

Reset_OPT3001_Register();

txBuffer[0] = 0x54;txBuffer[1] = 0x10;


i2cTrans.writeCount = 3;
i2cTrans.writeBuf = txBuffer;
i2cTrans.readCount = 0;
i2cTrans.readBuf = rxBuffer;
i2cTrans.slaveAddress = 0x44;

I2C_transfer(handle, &i2cTrans);
}

使用特权

评论回复

相关帖子

沙发
dirtwillfly| | 2020-12-9 13:05 | 只看该作者
可以写16位寄存器的。
建议用逻辑分析仪观察一下时序看看,但看楼主的程序看不出什么

使用特权

评论回复
板凳
内政奇才| | 2020-12-9 17:10 | 只看该作者
分别写高/低八位试试

使用特权

评论回复
地板
麻花油条| | 2020-12-9 17:11 | 只看该作者
你要不要去參考一下 dev.ti.com/.../node opt3001的例程

使用特权

评论回复
5
yianele| | 2022-8-18 10:50 | 只看该作者
麻花油条 发表于 2020-12-9 17:11
你要不要去參考一下 dev.ti.com/.../node opt3001的例程

老哥,这是啥例程啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

528

主题

1720

帖子

0

粉丝