stm32F4电源管理PVD掉电数据存储

发布者:haoying最新更新时间:2018-12-27 来源: eefocus关键字:stm32F4  电源管理  PVD  掉电数据存储 手机看文章 扫描二维码
随时随地手机看文章

很多时候,我们希望我们的单片机在掉电后,可以对一些数据进行保存,下次上电可以读取这些数据,继续工作。现在我项目用到的是STM32F4单片机,利用STM32F4自带的PVD电源管理配置如下:


初始化PVD:


void PWR_PVD_Init(void) 

NVIC_InitTypeDef NVIC_InitStructure; 

EXTI_InitTypeDef EXTI_InitStructure;


RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);//使能PWR时钟


NVIC_InitStructure.NVIC_IRQChannel = PVD_IRQn;           //使能PVD所在的外部中断通道

NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;//抢占优先级1

NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;       //子优先级0

NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;          //使能外部中断通道

NVIC_Init(&NVIC_InitStructure);


EXTI_StructInit(&EXTI_InitStructure);

EXTI_InitStructure.EXTI_Line = EXTI_Line16;             //PVD连接到中断线16上

EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;     //使用中断模式

EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;  //电压低于阀值时产生中断

EXTI_InitStructure.EXTI_LineCmd = ENABLE;               //使能中断线

EXTI_Init(&EXTI_InitStructure);                         //初始


PWR_PVDLevelConfig(PWR_PVDLevel_7);//设定监控阀值   注意和F1的区别  F1的电压等级就更直观   PWR_PVDLevel_2V8 

PWR_PVDCmd(ENABLE);//使能PVD     


}


中断服务函数: 

void PVD_IRQHandler(void) 

static u16 MOTOR_absolute[4];


if(EXTI_GetITStatus(EXTI_Line16) != RESET)

{

    MOTOR_absolute[0]=Xabsolute;

    MOTOR_absolute[1]=Yabsolute;

    MOTOR_absolute[2]=Zabsolute;

    MOTOR_absolute[3]=Oabsolute;

    //掉电了紧急情况处理


    //写入坐标值到FLASH

    STMFLASH_Write(FLASH_SAVE_ADDR,(u32*)MOTOR_absolute,4);

    printf("%d %d %d %d\n",Xabsolute,Yabsolute,Zabsolute,Oabsolute);


//不能写入外部FLASH  可能是电压原因,所以只能写入内部FLASH        

//  res=f_open (&fil,"1:/MOTOR_absolute.txt", FA_CREATE_ALWAYS|FA_WRITE);     //机械手的一些配置信息管理文件

//      

//  for(i=0;i<4;i++)

//  {

//      f_printf(&fil,"%x\n",MOTOR_absolute[i]);

//      printf("%d\n",MOTOR_absolute[i]);

//  }           


    /* Clear the Key Button EXTI line pending bit */

    EXTI_ClearITPendingBit(EXTI_Line16);

}


}


关键字:stm32F4  电源管理  PVD  掉电数据存储 引用地址:stm32F4电源管理PVD掉电数据存储

上一篇:stm32中中断源名和中断处理函数名所在位置
下一篇:STM32是如何进入中断函数的

推荐阅读最新更新时间:2024-03-16 16:21

第6章 STM32F429工程模板建立(IAR8)
6.1 初学者重要提示 IAR的工程创建过程还是比较重要的,务必实际上手操作一遍。 6.2 第1步,创建工程文件夹 创建一个文件夹,里面包含如下文件(直接将跑马灯例子的Project文件里面内容全部删除,然后整个工程复制进来即可)。 Doc文件夹 用于记录例程的修改记录和例子简介。 Libraries文件夹 在第一章详细介绍从官网的下载方法。 Project文件夹 这个是本章的重点,在这个文件夹里面再建立两个文件夹,EWARMv8文件夹用于存放IAR工程,MDK-ARM(uV5)文件夹里面用于存放MDK工程,方便以后创建MDK的工程。 User文件夹 这个是要用户提供的,开发板已经都提供好,bsp文件夹里面
[单片机]
第6章 <font color='red'>STM32F4</font>29工程模板建立(IAR8)
stm32f407之数字滤波(操作寄存器)
数字滤波 为了对stm32f4的ADC和DAC有更多的了解,我决定做一个实用性比较强的实验。就是数字滤波实验,利用stm32f4的DAC可以产生噪声的特点,利用它的一路DAC产生叠加噪声的信号作为原始信号。然后用ADC测量,把结果经过滤波处理后用DAC的另一通道把结果输出,用双踪示波器观察。 一阶惯性滤波器及其数字化 一阶惯性滤波器的传递函数为: 利用一阶差分法离散化,可以得到一阶惯性数字滤波算法: 其中T为采样周期,为滤波时间常数。T和必须根据信号频谱来选择。 编程实现: a. 设定一个1024点正弦波表,用DAC1叠加噪声输出 b. 配置定时器6更新频率为1M c. DAC
[单片机]
<font color='red'>stm32f4</font>07之数字滤波(操作寄存器)
汽车LED应用给电源管理IC带来了新的机遇和挑战
在过去的十年里,汽车电子产品有了突飞猛进的发展,车载电子控制、车载信息服务以及娱乐系统不管是在数量上还是在精细程度上都有了显著的提高。本文将重点探讨这种成长的主要组成部分之一,即:目前以及下一代汽车中LED照明使用率的飞速提高。这种新型照明领域给汽车电子产品的设计师和制造商均带来了新的挑战。了解这些挑战并找到可行的解决方案是最为重要的,因为与这些照明系统相关联的发展似乎是没有止境的。 LED照明 诸如小外形尺寸、低功耗和快速接通时间等优势开创了高亮度LED被当今汽车所广泛采用的局面。LED在汽车中的初始应用是中央高架停车灯(CHMSL);这些应用使用红光LED来提供一个非常扁薄的照明阵列,该照明阵列易于安装,而且永远不需要更换。
[嵌入式]
STM32F4时钟使能和配置
在 STM32F4 标准固件库里,时钟源的选择以及时钟使能等函数都是在RCC相关固件库文件stm32f4xx_rcc.h 和 stm32f4xx_rcc.c 中声明和定义的。大家打开 stm32f4xx_rcc.h 文件可以看到文件开头有很多宏定义标识符,然后是一系列时钟配置和时钟使能函数申明。这些函数大致可以归结为三类,一类是外设时钟使能函数,一类是时钟源和分频因子配置函数,还有一类是外设复位函数。当然还有几个获取时钟源配置的函数。下面我们以几种常见的操作来简要介绍一下这些库函数的使用。 首先是时钟使能函数。时钟使能相关函数包括外设设置使能和时钟源使能两类。首先我们来看看外设时钟使能相关的函数: void RCC_AHB1Pe
[单片机]
STM32F4_TIM基本延时(计数原理)
Ⅰ、 概述 STM32 的 TIM 定时器分为三类:基本定时器、通用定时器和高级定时器。从分类来看就知道 STM32 的定时器功能是非常强大的,但是,功能强大了,软件配置定时器就相对复杂多了。很多初学者甚至工作了一段时间的人都不知道 STM32 最基本的计数原理。 虽然 STM32 定时器功能强大,也分了三类,但他们最基本的计数部分原理都是一样的,也就是我们常常使用的延时(或定时)多少 us 、 ms 等。 接下来我会 讲述关于STM32最基本的计数原理,详细讲述如何做到 ( 配置 ) 计数1us的延时,并提供实例代码供大家参考学习。 关于本文的更多详情请往下看。 Ⅱ、实例工程下载 笔者针对于初学者提供的例程都是去掉了
[单片机]
<font color='red'>STM32F4</font>_TIM基本延时(计数原理)
STM32F4与STM32F1的区别
作为Cortex M3市场的最大占有者,ST公司在2011年又推出基于Cortex M4内核的STM32F4系列产品,相对与STM32F1/F2等Cortex M3产品,STM32F4最大的优势,就是新增了硬件FPU单元以及DSP指令,同时,STM32F4的主频也提高了很多,达到168Mhz(可获得210DMIPS的处理能力),这使得STM32F4尤其适用于需要浮点运算或DSP处理的应用,也被称之为:DSC,具有非常广泛的应用前景。 STM32F4相对于STM32F1,主要优势如下: 1, 更先进的内核。STM32F4采用Cortex M4内核,带FPU和DSP指令集,而STM32F1采用的是Cortex M3内核,不带FPU和D
[单片机]
南芯半导体电荷泵高效电源管理芯片
南芯半导体作为国内领先的模拟芯片设计公司,专注于与锂电池相关的充电、保护以及电源管理领域,芯片年出货量达到上亿颗。据了解,南芯于2019年在以升降压和电荷泵为代表的新一代高效率电源管理方案方面取得了突破性进展,其推出的国内首款电荷泵充电器,打破超级快充的国外垄断,并获得诸多手机大客户的认可。 在电路设计领域,电荷泵作为利用电容存储能量的开关变换器,使得电容在供电和放电状态之间切换,从而提升或降低供电电压。同时电荷泵作为一种DCDC直流变换器,其转换效率非常重要,如何确保电荷泵在各种极端情况下(电源跳变/负载跳变/电容开短路/输入输出短地)安全可靠的工作也是当前的一大难题。 为此,南芯半导体于2019年12月30日提出一项名为“一种
[手机便携]
南芯半导体电荷泵高效<font color='red'>电源管理</font>芯片
EPS的节能“改革”方案
  最近几年电源产品已经取得了突破性的进步,但与此同时,当今能源浪费的问题已成为国内外越来越关注的问题,它反映在以下几个方面:   a 使用矿物燃料的能源资源是有限的,获取能源的成本也在增加,矿物燃料的消耗也带来其它负面影响(即环境污染),而可替代能源资源还没有成热。   b 所有的家电产品和电子设备都要消耗电力。   c 不断增长的个人用电子产品通过使用适配器和充电器——外部电源(EPS)——也在消耗能源外部电源。   1 节能理念来推动或重新设计   电源在轻载时的高效率是关键因素。工作模式的效率是当电源工作在25%、50%、75%及100%负载时效率的平均值:在整个负载范围内持续的高效率比重载时的高效率更
[电源管理]
EPS的节能“改革”方案
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved