历史上的今天
今天是:2025年03月08日(星期六)
2019年03月08日 | STM32之BKP例程
2019-03-08 来源:eefocus
#include "stm32f10x.h"
/* RCC时钟配置 */
void RCC_config(void)
{
ErrorStatus HSEStartUpStatus;
/* RCC寄存器设置为默认配置 */
RCC_DeInit();
/* 打开外部高速时钟 */
RCC_HSEConfig(RCC_HSE_ON);
/* 等待外部高速时钟稳定 */
HSEStartUpStatus = RCC_WaitForHSEStartUp();
if(HSEStartUpStatus == SUCCESS)
{
/* 设置HCLK = SYSCLK */
RCC_HCLKConfig(RCC_SYSCLK_Div1);
/* 设置PCLK2 = HCLK */
RCC_PCLK2Config(RCC_HCLK_Div1);
/* 设置PCLK1 = HCLK / 2 */
RCC_PCLK1Config(RCC_HCLK_Div2);
// /* 设置FLASH代码延时 */
// FLASH_SetLatency(FLASH_Latency_2);
// /* 使能预取址缓存 */
// FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
/* 设置PLL时钟源为HSE倍频9 72MHz */
RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);
/* 使能PLL */
RCC_PLLCmd(ENABLE);
/* 等待PLL稳定 */
while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);
/* 设置PLL为系统时钟源 */
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
/* 等待系统时钟源切换到PLL */
while(RCC_GetSYSCLKSource() != 0x08);
}
}
/* 毫秒延时函数 */
void delay_ms(uint16_t time)
{
uint16_t i = 0;
while(time--)
{
i = 12000;
while(i--);
}
}
/* 配置BKP后备寄存器 */
void BKP_Configuration(void)
{
RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP,ENABLE);
PWR_BackupAccessCmd(ENABLE);
}
/* 主函数 */
int main(void)
{
uint16_t data = 0x01;
/* 配置BKP后备寄存器 */
BKP_Configuration();
data = BKP_ReadBackupRegister(BKP_DR1);
data++;
BKP_WriteBackupRegister(BKP_DR1, data);
while(1)
{
delay_ms(1000);
}
}
上一篇:STM32之窗口看门狗例程
下一篇:STM32之BKP原理
史海拾趣
|
新的AVR系列单片机(例如,ATMEGA168等)使用增强功能的看门狗(Enhanced Watchdog Timer),与原来的看门狗相比较,除了有相同复位的功能以外,还增加了中断的功能设计时。使用看门狗的中断功能,可以实现从Power Down状态唤醒CPU;另外同时能使中断和 ...… 查看全部问答> |
|
USB 2.0 规范 USB 是一种支持热插拔的高速串行传输总线,它使用差分信号来传输数据,最高速度 可达480Mb/S。USB 支持“总线供电”和“自供电”两种供电模式。在总线供电模式下, 设备最多可以获得500mA 的电流。USB2.0 被设计成为向下兼容的模式 ...… 查看全部问答> |
|
最近在学习 ARM2440,买了一块杭州立宇泰的板子,遇到一个难题,请大家一起帮忙分析一下,谢谢! 最近在学习 ARM2440,买了一块杭州立宇泰 (套餐六) 的板子,遇到一个难题,请大家一起帮忙分析一下,谢谢! 问题是这样的。 开发板的初始化软件是能正常运行的。 我设置成网络启动也能正常工作, 我尝试修改了文件系统,运行了自己的程序,也 ...… 查看全部问答> |
|
各位大虾谁能给我个《plug and play system architecture》?非常感谢 各位大虾谁能给我个《plug and play system architecture》?非常感谢, 我的邮箱jerk66@163.com… 查看全部问答> |
|
EVC连接SQLCE出问题:recordset 的open方法总是提示:first—chance exception in XX.exe:0X00000f0:s EVC连接SQLCE出问题:recordset 的open方法总是提示:first—chance exception in XX.exe:0X00000f0:stack overflow。 程序如下 CVOConnection* m_Conn; CVO ...… 查看全部问答> |




