主题中讨论的其他器件:TPS65218
您好 TI!
我需要对我的设计的 TPS2651815进行编程。 我正在使用 CC1312 Launchpad 通过 I2C 对 TPS65218进行编程。 我无法使用 BOOSTXL-TPS65218 、因为我的 TPS65218是板载的、
使用我的 CC1312 Launchpad 代码、我可以读取所有 TPS65218寄存 器、所有寄存器都具有默认值、寄存器芯片具有值0x15、但我无法写入任何寄存器。
我无法写入任何 regiter。 例如、我想将寄存器转换中的值0x86与地址(0x1A)进行求和。 我曾:
1)我在密码寄存器(地址0x10)中写入0x67 (0x1A XOR 0x7D)。
2) 2)我在转换寄存器(地址0x1A)中写入0x86
在我读取转换寄存器并得到0x06、默认值后。
问题:
1) 1 -)我做了什么错?
2) 2)对所有寄存器重复之前的步骤1和2后、我必须执行什么操作来永远保存此设置。 也许我必须在密码寄存器(地址0x10)中发送0x50 0x1A 0xCE?
3) 3)我必须如何发送编程 EEPROM 命令(0x50 0x1A 0xCE)? 一个 I2C 写入传输还是 三个 I2C 写入传输中的一对一?
我确实继续测试、我发现:
我无法写入任何寄存器,即使是无密码的 INT_MASK1 (地址0x03)寄存器也是如此。
我正在发送:
起始位+从器件地址(0x24)+写入位+寄存器地址(0x03)+新值+停止位
当我读取寄存 器 INT_MASK1后,它具有默认值:-()
这里是用于对 INT_MASK1 (地址0x03) 寄存器进行编程的代码:
I2C_Transaction i2cTransaction ={0};
writeBuffer[0]= 0x03;//要写入的地址寄存器
writeBuffer[1]= 0x0C;//要写入的值
writeBuffer[2]= 0x00;//要写入的值
i2cTransaction.slaveAddress = 0x24;
i2cTransaction.writeBuf = writeBuffer;
i2cTransaction.writeCount = 2;
i2cTransaction.readBuf =空;
i2cTransaction.ReadCount = 0;
I2C_transfer (i2c、&i2cTransaction);
问题:
3) 3) 以下哪一项是在没有密码保护的情况下写入简单寄存器的正确顺序?
非常感谢。 最好的酒店