stm32 hal rtc外部晶振配置

stm32 hal rtc外部晶振配置,第1张

直接使用cubeMX即可,否则可以根据官网给出例程来进行配置。

void RTC_Configuration(void)

{

//启用PWR和BKP的时钟(from APB1)

RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE)

//后备域解锁

PWR_BackupAccessCmd(ENABLE)

//备份寄存器模块复位

BKP_DeInit()

//外部32.768K其哟偶那个

RCC_LSEConfig(RCC_LSE_ON)

//等待稳定

while (RCC_GetFlagStatus(RCC_FLAG_LSERDY) == RESET)

//RTC时钟源配置成LSE(外部32.768K)

RCC_RTCCLKConfig(RCC_RTCCLKSource_LSE)

//RTC开启

RCC_RTCCLKCmd(ENABLE)

//开启后需要等待APB1时钟与RTC时钟同步,才能读写寄存器

RTC_WaitForSynchro()

//读写寄存器前,要确定上一个 *** 作已经结束

RTC_WaitForLastTask()

//设置RTC分频器,使RTC时钟为1Hz

//RTC period = RTCCLK/RTC_PR = (32.768 KHz)/(32767+1)

RTC_SetPrescaler(32767)

//等待寄存器写入完成

RTC_WaitForLastTask()

//使能秒中断

RTC_ITConfig(RTC_IT_SEC, ENABLE)

//等待写入完成

RTC_WaitForLastTask()

return

}

void RTC_Config(void)

{

//我们在BKP的后备寄存器1中,存了一个特殊字符0xA5A5

//第一次上电或后备电源掉电后,该寄存器数据丢失,

//表明RTC数据丢失,需要重新配置

if (BKP_ReadBackupRegister(BKP_DR1) != 0xA5A5)

{

//重新配置RTC

RTC_Configuration()

//配置完成后,向后备寄存器中写特殊字符0xA5A5

BKP_WriteBackupRegister(BKP_DR1, 0xA5A5)

}

else

{

//若后备寄存器没有掉电,则无需重新配置RTC

//这里我们可以利用RCC_GetFlagStatus()函数查看本次复位类型

if (RCC_GetFlagStatus(RCC_FLAG_PORRST) != RESET)

{

//这是上电复位

}

else if (RCC_GetFlagStatus(RCC_FLAG_PINRST) != RESET)

{

//这是外部RST管脚复位

}

//清除RCC中复位标志

RCC_ClearFlag()

//虽然RTC模块不需要重新配置,且掉电后依靠后备电池依然运行

//但是每次上电后,还是要使能RTCCLK???????

//RCC_RTCCLKCmd(ENABLE)

//等待RTC时钟与APB1时钟同步

//RTC_WaitForSynchro()

//使能秒中断

RTC_ITConfig(RTC_IT_SEC, ENABLE)

//等待 *** 作完成

RTC_WaitForLastTask()

}

#ifdef RTCClockOutput_Enable

RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE)

PWR_BackupAccessCmd(ENABLE)

BKP_TamperPinCmd(DISABLE)

BKP_RTCOutputConfig(BKP_RTCOutputSource_CalibClock)

#endif

return

}

电子锁的cubemx配置方法:

1、打开cubemx并选择好相应的芯片。

2、配置RCC时钟、ETH、PA8以及使能LWIP,此处开发板硬件上显示为RM,点击连接就配置成功了。

一、STM32CubeMX RTC配置

二、RTC初始化

三、RTC日期掉电不更新(F1...这里暂时只考虑F103,其他系列未测试,对比的也只考虑F4)

四、解决办法

4.1、上电对时

4.2、将时间和日期都换算存入到CNT寄存器中(存入时间戳)

4.3、设置时间时将日期同时设置,且保存到RTC备份存储区


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12009853.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存