This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] MSPM0C1104:使用 MSPM0C1104读取 I2C 存储器时出现问题

Guru**** 2181985 points
Other Parts Discussed in Thread: BQ76952
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1318450/mspm0c1104-issue-with-i2c-memory-read-with-mspm0c1104

器件型号:MSPM0C1104
主题中讨论的其他器件:BQ76952

尊敬的先生:

  我使用 M0C1104 (TSSOP20封装)进行 i2c 通信。 在 CSS 中、我在使用带有 EEPROM 的 I2C (M24C08)和 BQ76952读取存储器位置时遇到问题。

我能够在某些内存位置读取正确的数据、但在其他位置、我得到了垃圾数据。

已测试的 I2C SCL 时钟对于 EEPROM 为100kHz/400kHz、对于 BQ76952为400KHz。

使用的功能

I2C_ReadReg (命令、RX_Data、2);

7位 I2C_TARGET_ADDRESS = 0x50 (对于 EEPROM 0xA0 >>1)  和0x08 (对于 bQ76952 0x10 >> 1)

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include "BQ769x2_protocol.h"
uint8_t RX_Data[4];
volatile uint8_t COMMAND = 0x0E;
int main(void)
{
SYSCFG_DL_init();
DL_SYSCTL_disableSleepOnExit();
while (1)
{
I2C_ReadReg(COMMAND, RX_Data, 2);
}
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

请帮助解决 I2C 无法正常工作的问题。

请 提供一些使用 BQ76952进行 I2C 存储器读写的示例代码

 非常感谢