[RISC-V MCU 应用开发] 第七十九章、CH32V103应用教程——BKP-上电计数

[复制链接]
 楼主| RISCVLAR 发表于 2021-3-3 14:10 | 显示全部楼层 |阅读模式
CH32V103应用教程——BKP-上电计数

本章教程主要通过使用后备寄存器(BKP)进行上电计数。

1、BKP简介及相关函数介绍
关于BKP相关介绍,在前面第十六章已经进行过相关介绍,在此不再赘述。更多具体信息,可参考CH32V103应用手册。

2、硬件设计
本章教程使用BKP进行上电计数,无需进行硬件连接。

3软件设计
本章教程使用BKP进行上电计数,程序较为简单,仅一个主函数,具体程序如下:
main.c文件
  1. /********************************** (C) COPYRIGHT *******************************
  2. * File Name          : main.c
  3. * Author             : WCH
  4. * Version            : V1.0.0
  5. * Date               : 2020/04/30
  6. * Description        : Main program body.
  7. *******************************************************************************/

  8. #include "debug.h"

  9. /*******************************************************************************
  10. * Function Name  : main
  11. * Description    : Main program.
  12. * Input          : None
  13. * Return         : None
  14. *******************************************************************************/
  15. int main(void)
  16. {
  17.     unsigned short i = 0;

  18.     USART_Printf_Init(115200);
  19.     printf("SystemClk:%d\r\n",SystemCoreClock);

  20.     RCC_APB1PeriphClockCmd( RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE ); //使能PWR时钟和BKP时钟

  21.     PWR_BackupAccessCmd( ENABLE ); //启用对RTC和备份寄存器的访问。

  22.     i=BKP_ReadBackupRegister(BKP_DR1);  //读取后备数据寄存器的值
  23.     printf("上电次数%d \r\n",i);
  24.     i++;
  25.     BKP_WriteBackupRegister(BKP_DR1,i); //向后备数据寄存器写入值

  26.     while(1);
  27. }
main.c文件主要开启BKP时钟、启用对备份寄存器的访问以及进行计数。

4下载验证
将编译好的程序下载到开发板并复位,打开串口调试助手,串口打印显示如下,每当开发板重新上电,记一次数:
图片1.png

78、BKP-上电计数.rar

456.84 KB, 下载次数: 204

qiangtech 发表于 2021-3-3 17:02 | 显示全部楼层
功能类似EEPROM了
cr315 发表于 2021-3-9 09:09 | 显示全部楼层
下载研究研究
jerow 发表于 2021-3-11 19:56 | 显示全部楼层
BKP一般是用来当作eeprom用来保存数据的吧,但是不知道为什么要叫BKP呢?是侵权吗
piteqiu 发表于 2021-3-13 09:38 | 显示全部楼层
jerow 发表于 2021-3-11 19:56
BKP一般是用来当作eeprom用来保存数据的吧,但是不知道为什么要叫BKP呢?是侵权吗 ...

同意你的说法我感觉是为了避免名称的冲突,但是和eepROM还是有区别的,擦除次数没他的多。
ox000008 发表于 2023-1-16 13:58 | 显示全部楼层
piteqiu 发表于 2021-3-13 09:38
同意你的说法我感觉是为了避免名称的冲突,但是和eepROM还是有区别的,擦除次数没他的多。 ...

后备寄存器(BKP)数据需要由 VBAT供电来保持,掉电会丢失。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

133

主题

296

帖子

45

粉丝
快速回复 在线客服 返回列表 返回顶部