0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

后备数据寄存器概述及读写操作

CHANBAEK 来源:CSDN-借过风景 作者:CSDN-借过风景 2023-02-15 11:52 次阅读

1. 后备数据寄存器概述

CH32V307后备寄存器(BKP)提供了10个16位的通用数据寄存器(BKP_DATARx),可以用来存储20个字节的用户数据。

BKP_DATARx 后备数据寄存器在VDD掉电时,可依靠VBAT电源保持数据。

当系统在待机模式下被唤醒,或系统复位或电源复位时,这些数据也不会被复位。

BKP_DATARx 后备数据寄存器复位条件:

后备域复位(BDRST)
侵入引脚事件复位(需开启侵入检测功能,引脚为PC13)

2. 后备数据寄存器读写操作

微控制器复位后对后备寄存器和RTC 的访问被禁止,需通过以下操作开启对后备寄存器的访问:

置寄存器RCC_APB1PCENR 的PWREN 位和BKPEN 位来打开电源和后备接口的操作时钟

置电源控制寄存器PWR_CTLR 的DBP 位,使能对后备寄存器和RTC 寄存器的访问

参考代码:

int main (void)
{
    USART_Printf_Init(115200);
    printf("ch32V307 BKP test\\r\\n");
​
    //打开电源和后备接口时钟
    RCC_APB1PeriphClockCmd( RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE );
    //PWR_CTLR寄存器DBP位使能,后备区域写使能
    PWR_BackupAccessCmd( ENABLE ); //PWR->CTLR |= (1 << 8); 
    
    BKP_WriteBackupRegister( BKP_DR1, 0x1234 );
    BKP_WriteBackupRegister( BKP_DR2, 0x5678 );
​
    printf( "BKP_DR1:%08x\\r\\n", BKP->DATAR1 );
    printf( "BKP_DR2:%08x\\r\\n", BKP->DATAR2 );
    
    while (1);
}
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 微控制器
    +关注

    关注

    48

    文章

    7646

    浏览量

    151938
  • 寄存器
    +关注

    关注

    31

    文章

    5363

    浏览量

    121000
  • 读写操作
    +关注

    关注

    0

    文章

    5

    浏览量

    7134
  • VDD
    VDD
    +关注

    关注

    1

    文章

    312

    浏览量

    33448
  • ch32v307
    +关注

    关注

    0

    文章

    14

    浏览量

    1875
收藏 人收藏

    评论

    相关推荐

    寄存器是什么?怎么操作寄存器点亮LED灯?

    寄存器,是集成电路中非常重要的一种存储单元,通常由触发组成。在集成电路设计中,寄存器可分为电路内部使用的寄存器和充当内外部接口的寄存器这两
    的头像 发表于 07-21 16:59 4112次阅读
    <b class='flag-5'>寄存器</b>是什么?怎么<b class='flag-5'>操作</b><b class='flag-5'>寄存器</b>点亮LED灯?

    在PORT寄存器和GPIO引脚的LAT寄存器上进行读写操作的利弊?

    大家好,谁能建议一下在PORT寄存器和GPIO引脚的LAT寄存器上进行读写操作的利弊?非常感谢你的帮助。
    发表于 03-11 10:43

    stm32寄存器开发概述

    stm32寄存器开发基础寄存器开发概述[^1]寄存器:stm32时钟源:STM32F407引脚分组和寄存器点亮一盏灯的
    发表于 08-10 06:07

    数据寄存器,数据寄存器是什么意思

    数据寄存器,数据寄存器是什么意思 数据寄存器数据
    发表于 03-08 14:38 1.3w次阅读

    寄存器的物理地址的概述

    寄存器的物理地址的概述
    发表于 01-04 11:32 0次下载

    寄存器和cache的区别介绍

    本文开始阐述了CACHE的概念、CACHE替换机构与读写操作,其次介绍了寄存器的原理以及它的主要技术,最后阐述了寄存器和cache两者之间的区别。
    发表于 04-11 14:10 1.3w次阅读

    寄存器操作方法_对寄存器操作的通用方法总结

    本文主要详解寄存器操作方法以及对寄存器操作的通用方法总结,具体的跟随小编来了解一下。
    的头像 发表于 05-22 15:53 2.3w次阅读

    芯片与寄存器

    芯片与寄存器作为一个嵌入式开发人员,从接触第一块单片机的时候,就一定会听到一个此,叫做寄存器。单片机的很多功能都是通过配置修改寄存器来实现的。我们了解寄存器,也
    发表于 11-23 16:21 50次下载
    芯片与<b class='flag-5'>寄存器</b>

    C语言位操作在(单片机)寄存器中的应用

    其他位寄存器的特点是按位进行规划和使用。但是寄存器读写却是整体32位一起进行的(比如说一个32位的寄存器,你只想修改bit5~bit7是不行的,必须整体32bit全部写入)
    发表于 11-29 10:06 8次下载
    C语言位<b class='flag-5'>操作</b>在(单片机)<b class='flag-5'>寄存器</b>中的应用

    C语言:寄存器操作

    C语言:寄存器操作
    发表于 01-13 12:56 6次下载
    C语言:<b class='flag-5'>寄存器</b><b class='flag-5'>操作</b>

    STM32的寄存器操作

    STM32的寄存器操作在使用STM32单片机编程时一般都用ST给的库函数编程,库函数编程的底层就是对单片机寄存器操作,库函数就是一系列寄存器
    发表于 01-13 15:43 19次下载
    STM32的<b class='flag-5'>寄存器</b><b class='flag-5'>操作</b>

    SpinalHDL中如何优雅地实现寄存器总线读写

    通过bus slave factory,我们可以方便地实现寄存器读写,其提供了一系列寄存器读写方法。这里列举几个常用的方法(完整的方法列表可参照SpinalHDL-Doc):
    发表于 08-05 09:57 1029次阅读

    简述RAL寄存器模型基础

    RAL(Register Abstract Layer,寄存器抽象层),通常也叫寄存器模型,顾名思义就是对寄存器这个部件的建模。本文要介绍的内容,包括对UVM寄存器模型的
    的头像 发表于 02-14 16:55 2813次阅读
    简述RAL<b class='flag-5'>寄存器</b>模型基础

    RAL寄存器模型操作图鉴

    寄存器模型操作,指的是通过寄存器模型对RTL中寄存器进行读写访问,或者同步寄存器模型与RTL中
    的头像 发表于 05-17 09:01 1033次阅读
    RAL<b class='flag-5'>寄存器</b>模型<b class='flag-5'>操作</b>图鉴

    RAL寄存器模型操作指南

    寄存器模型操作,指的是通过寄存器模型对RTL中寄存器进行读写访问,或者同步寄存器模型与RTL中
    的头像 发表于 07-12 09:37 1137次阅读
    RAL<b class='flag-5'>寄存器</b>模型<b class='flag-5'>操作</b>指南