我正在尝试通过i2c总线将STM32F091Rc与MCP79411接口,我能够从芯片(MCP79411)获取唯一ID,但无法从芯片设置或获取RTC日期和时间。
我正在使用CUBEMX生成I2C初始化和其他所需的文件,我也在使用freertos和eclipse IDE。
Cant似乎找不到与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".
谢谢。