我正在尝试通过 i2c 总线将 STM32F091Rc 与 MCP79411 连接,我能够从芯片(MCP79411)获取唯一 ID,但无法从芯片设置或获取 RTC 日期和时间。
我正在使用 CUBEMX 生成 I2C 初始化和其他所需文件,我也在使用 freertos 和 eclipse IDE。
似乎找不到任何与 RTC 芯片相关的库。任何帮助都会很有用。
编辑:(工作)用于从 MCP79411 芯片检索唯一 ID 的代码。
I2c 声明是通过 STMCubeMX 生成完成的。
uint8_t UID_Address_register[]={0xF2,0xF3,0xF4,0xF5,0xF6,0xF7};
uint8_t Receive_buffer[6];
for(int k=0;k<6;k++)
{
HAL_I2C_Master_Transmit(&hi2c1,0xAE,(uint8_t*)&UID_Address_register[k],1,100);
HAL_I2C_Master_Receive(&hi2c1,0xAF,(uint8_t*)&Receive_buffer[k],1,100);
}
用于检索 RTC 日期和时间但失败的代码。
uint8_t RTC_Date_Time_Registers[]={0x00,0x01,0x02,0x03,0x04,0x05};
uint8_t DnT_rec_Buf[6];
for(int k=0;k<6;k++)
{
HAL_I2C_Master_Transmit(&hi2c1,0xDE,(uint8_t*)&RTC_Date_Time_Registers[k],1,100);
HAL_I2C_Master_Receive(&hi2c1,0xDF,(uint8_t*)&DnT_rec_Buf[k],1,100);
}
*Binary to decimal conversion operation done to convert incoming read bytes. But only read "000000".
提前致谢。