主题中讨论的其他器件:BQ76952、MSPM0L1306、、 SysConfig
亲爱的妈妈:
我使用 M0C1104 (TSSOP20封装)进行 i2c 通信。 在 CSS 中、我在使用带有 EEPROM 的 I2C (M24C08)和 BQ76952读取存储器位置时遇到问题。
我能够在某些内存位置读取正确的数据、但在其他位置、我得到了垃圾数据。
经测试的 I2C SCL 时钟对于 EEPROM 为100kHz/400kHz、对于 BQ76952为400kHz。
使用的函数:I2C_ReadReg (command、RX_Data、2);
7位 I2C_TARGET_ADDRESS = 0x50 (对于 EEPROM 0xA0 >>1) 和0x08 (对于 bQ76952 0x10 >> 1)
#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);
}
}


但我们无法理解、我们在演示过程中发现以下问题:
"Cortex_M0P:加载程序:程序的一个或多个部分落入无法写入的存储器区域。
这些区域实际上不会写入目标。 请检查您的链接器配置和/或存储器映射。"
请向我们提供 MSPM0C1104的 BQ76952示例代码、并 帮助我们解决 I2C 无法正常工作的可能问题。
谢谢!