1

我正在尝试通过 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".

提前致谢。

4

0 回答 0