STM32 F103微控制器的 RTC初始化以及备份寄存器的读写功能

STM32 微控制器的 RTC初始化以及备份寄存器的读写功能

#include  "rtc.h"
RTC_HandleTypeDef rtc_handle={0};
void rtc_init(void){
    __HAL_RCC_PWR_CLK_ENABLE();    // 使能PWR时钟
    __HAL_RCC_BKP_CLK_ENABLE();    // 使能备份域时钟(部分STM32型号使用)
    HAL_PWR_EnableBkUpAccess();    // 允许访问备份域寄存器
    
    rtc_handle.Instance = RTC;     // 指定RTC实例
    
    rtc_handle.Init.AsynchPrediv = 32767;    // 异步预分频值
    rtc_handle.Init.OutPut = RTC_OUTPUTSOURCE_NONE;    // 禁用RTC输出
    
    HAL_RTC_Init(&rtc_handle);     // 初始化RTC
}
//读第几个bkr寄存器小容量有10个,16位寄存器,两个字节,一共20个字节
uint16_t rtc_read_bkr(uint8_t bkrx){
    uint32_t data; 
    data=HAL_RTCEx_BKUPRead(&rtc_handle, bkrx);
    return (uint16_t)data;
}
void rtc_write_bkr(uint8_t bkrx,uint16_t data){

    HAL_RTCEx_BKUPWrite(&rtc_handle, bkrx, data);

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值