STM32F091Rc与外部(I2C)RTC MCP79411接口

时间:2018-12-07 07:33:25

标签: eclipse stm32 freertos stm32f0 stm32cubemx

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

谢谢。

0 个答案:

没有答案