flycamelaaa 发表于 2020-12-8 09:52

CC2640的I2C问题请教

我用CC2640 的I2C 模块给OPT3001光照芯片 写值,发现写不进去。该芯片寄存器是16位的,咱I2C模块可以写16位寄存器的值吗???

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

void Set_OPT3001(uint8_t limit)
{

Reset_OPT3001_Register();

txBuffer = 0x54;txBuffer = 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的例程

yianele 发表于 2022-8-18 10:50

麻花油条 发表于 2020-12-9 17:11
你要不要去參考一下 dev.ti.com/.../node opt3001的例程

老哥,这是啥例程啊
页: [1]
查看完整版本: CC2640的I2C问题请教