STM32CubeMX配置ADC模拟看门狗实现掉电保存

发布者:数据小巨人最新更新时间:2021-10-14 来源: eefocus关键字:STM32CubeMX  模拟看门狗  掉电保存 手机看文章 扫描二维码
随时随地手机看文章

实验目的:

通过STM32CubeMX进行简单配置生成HAL库实现ADC模拟看门狗,以达到单片机掉电保存Flash。


一、STM32CubeMX配置如下:

在这里插入图片描述

其中两个边界电压分别配置了3880和1509,当超越这个边界就会出发ADC中断,再ADC中断中保存flash即可。所以我们还需要打开ADC中断:


二、生成的HAL库源码如下:

  /** Configure Analog WatchDog 1 

  */

  AnalogWDGConfig.WatchdogNumber = ADC_ANALOGWATCHDOG_1;

  AnalogWDGConfig.WatchdogMode = ADC_ANALOGWATCHDOG_SINGLE_REG;

  AnalogWDGConfig.Channel = ADC_CHANNEL_9;

  AnalogWDGConfig.ITMode = ENABLE;

  AnalogWDGConfig.HighThreshold = 3880;

  AnalogWDGConfig.LowThreshold = 1509;

  if (HAL_ADC_AnalogWDGConfig(&hadc1, &AnalogWDGConfig) != HAL_OK)

  {

    Error_Handler();

  }

  /** Configure Analog WatchDog 2 

  */

  AnalogWDGConfig.WatchdogMode = ADC_ANALOGWATCHDOG_SINGLE_REG;

  if (HAL_ADC_AnalogWDGConfig(&hadc1, &AnalogWDGConfig) != HAL_OK)

  {

    Error_Handler();

  }


三、在ADC中段中实现你想要的功能即可

/**

  * @brief This function handles ADC1 interrupt.

  */

void ADC1_IRQHandler(void)

{

  /* USER CODE BEGIN ADC1_IRQn 0 */


  /* USER CODE END ADC1_IRQn 0 */

  HAL_ADC_IRQHandler(&hadc1);

  /* USER CODE BEGIN ADC1_IRQn 1 */

在此处添加自己想实现的功能

  /* USER CODE END ADC1_IRQn 1 */

}


完美,收工!

关键字:STM32CubeMX  模拟看门狗  掉电保存 引用地址:STM32CubeMX配置ADC模拟看门狗实现掉电保存

上一篇:STM32CubeMX配置RTC——基于(STM32G070+STM32CubeMX+HAL库+RTC)
下一篇:STM32CubeMX配置硬件CRC

推荐阅读最新更新时间:2024-11-16 23:45

STM32CubeMX】HAL库中断方式UART串口通信
HAL库下,利用STM32CubeMX生成源代码,确实比较简单,比用标准库简单很多。 现在总结自己学习的过程: 硬件平台:正点原子探索者(STM32F407ZET6) 1、配置STM32CubeMX (1)打开STM32CubeMX,选择相应的芯片型号,并配置调试信息为:Serial Wire (2)配置RCC主频,选择外部高速晶振(HSE):Crystal/Ceramic Resonator(译文:水晶/陶瓷谐振器) 然后开始配置时钟树: 外部晶振为8MHz,配置PLL使主频为168MHz,如下图: (3)配置USART1:选择异步通信模式 (4)配置串口:115200
[单片机]
【<font color='red'>STM32CubeMX</font>】HAL库中断方式UART串口通信
关于STM32CubeMx printf重定向,及报错。"FILE" is undefined
/* USER CODE BEGIN PFP */ #ifdef __GNUC__ /* With GCC, small printf (option LD Linker- Libraries- Small printf set to 'Yes') calls __io_putchar() */ #define PUTCHAR_PROTOTYPE int __io_putchar(int ch) #else #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f) #endif /* __GNUC__ */ /* USER CODE END PFP */
[单片机]
stm32cubemx(HAL库)函数积累
HAL_GPIO_TogglePin(GPIOF,GPIO_PIN_8); //取反 HAL_GPIO_WritePin(GPIOF,GPIO_PIN_8,GPIO_PIN_SET); //输出 HAL_GPIO_ReadPin(F8_GPIO_Port,F8_Pin); //读取引脚状态 HAL_UART_Transmit(&huart1,(uint8_t *)&send_data,sizeof(send_data),0x1000);发送串口数据
[单片机]
STM32CubeMX工程闪退问题
现象:安装了STM32CubeMX软件后,在创建工程的过程中,只要一拖动卷轴,工程就会关闭。 原因:因为打开了翻译软件,导致与STM32CubeMX发生了冲突。 解决方法:将翻译软件先关闭退出。
[单片机]
<font color='red'>STM32CubeMX</font>工程闪退问题
stm32cubeMX学习三、串口打印Hello world
上一节入门了stm32cubeMX按键的配置,这节我们来学习下编写一个串口打印hello world的程序。 本程序编写基于秉火霸道STM32F103ZET6开发板进行。 一、打开stm32cubeMX软件 二、选择芯片型号 首先点击File,然后选择New Project,在弹出的页面中搜索您要配置的芯片型号,然后鼠标双击选择stm32f103ZETx 这时候会弹出另外一个页面如下,开始做芯片的硬件资源配置工作。 三、配置时钟频率 选择Clock Configuration,然后在如下图所示的方框中配置好时钟频率,stm32cubeMX会自动把分频系统等配置好,不用人为一个一个去设置。 四、查看串口相
[单片机]
<font color='red'>stm32cubeMX</font>学习三、串口打印Hello world
STM32CubeMX:UART操作
UART共有三种操作方式,轮询方式、中断方式以及DMA方式。 芯片:STM32F103C8T6 应用管脚: 输出:PA0、PA1 USART1 配置界面 添加中断配置 添加DMA配置 代码应用 1.实现printf函数 /* USER CODE BEGIN 0 */ #ifdef __GNUC__ /* With GCC/RAISONANCE, small printf (option LD Linker- Libraries- Small printf set to 'Yes') calls __io_putchar() */ #define PUTCHAR_PROTO
[单片机]
<font color='red'>STM32CubeMX</font>:UART操作
STM32CubeMX系列教程03_创建并生成代码工程
一、写在前面 本文面向初学者,使用STM32CubeMX一步一步配置一个可直接编译下载,并成功运行的代码。 实践操作成功之后有了成就感,大家才会更加有信心继续学习下去。 本文只提供LED闪烁的简单实例讲解,重点是引导初学者入门。 更多实例(如UART、TIM、CAN...)我会单独整理一系列教程,并提供源码分析和下载。 二、准备工作 学习STM32CubeMX进行开发,需要有几样准备工作。 2.1 下载安装STM32CubeMX及HAL库 请参看文章《STM32CubeMX系列教程02_STM32CubeMX工具、HAL库下载、安装说明》 提示:下载安装MCU对应的HAL库就行。 比如:你开发板MCU是ST
[单片机]
<font color='red'>STM32CubeMX</font>系列教程03_创建并生成代码工程
单片机掉电检测与保存
单片机在正常工作时,因某种原因造成突然掉电,将会丢失数据存储器(RAM)里的数据。在某些应用场合如测量、控制等领域,单片机正常工作中采集和运算出一些重要数据,待下次上电后需要恢复这些重要数据。因此,在一些没有后备供电系统的单片机应用系统中,有必要在系统完全断电之前,把这些采集到的或计算出的重要数据存在在EEPROM中。为此,通常做法是在这些系统中加入单片机掉电检测电路与单片机掉电数据保存。 用法拉电容可从容实现单片机掉电检测与数据掉电保存。电路见下图。这里首先用6V供电(如7806),为什么用6V不用5V是显而易见的.电路中的二极管们一般都起两个作用,一是起钳位作用,钳去0.6V,保证使大多数51系列的单片机都能在4.5V--5.5
[单片机]
单片机<font color='red'>掉电</font>检测与<font color='red'>保存</font>

推荐帖子

这个论坛谈什么啊
这个论坛谈什么啊这个论坛谈什么啊有关电子方面的一些东西凡是和电子有关的都有Re:这个论坛谈什么啊
zhangkui 单片机
46“万里”树莓派小车——PicoW学习(PWM、定时器)
使用PicoW做底盘,需要至少有以下外设:GPIO,PWM,定时器,编码器读取和WiFi。GPIO,PWM,UART,定时器,这几个外设都有例程可以参考,移植起来也比较容易,这里一起介绍,顺便介绍一下工程移植过程。目标创建呼吸灯工程,设置两个个引脚为PWM输出连接LED,在定时器中断中改变PWM输出占空比,并通过UART输出定时器的间隔。PWM简介在写代码之前需要大致了解该芯片的PWM外设,PicoW主控芯片是RP2040,所以如果要详细的了解相关外
lb8820265 创新实验室
pxa270的电源管理
小弟最近在研究pxa270的电源管理,用的BSP是BVDMAIN,进入WINCE后,点击开始中的“挂起”后,在执行完所有驱动的POWEROFF函数后,开始执行OEMPowerOff(),执行到XllpPmEnterSleep()时发生异常,我查了一下,这个函数是内容都是汇编语言,发生异常是在执行以下俩个指令。IVs7%F6jstrr3,G+jb-,strsp,P~TJKm=GT+不知哪位仁兄做过这方面的工作,可以给小弟解答一下吗?
zouweihua 嵌入式系统
【LPC8N04测评】1.开箱及原理图分析
LPC8N04MCU的主要特点包括:ARMCortex-M0+内核,具有四种灵活的电源模式集成32KB闪存、8KBSRAM和4KBEEPROM具有能量采集功能的NFC/RFIDISO14443A型通信,支持多种标签和配置应用集成温度传感器,精度为+/-1.5°C两个串行接口和12个GPIO1.72至3.6V工作电压,-40°C至+85°C温度范围(环境)低成本,小尺寸QFN24封装
ddllxxrr NXP MCU
求助quartus软件的安装
我的笔记本电脑是win764位的,安装quartus11.0软件成功,也破解了,但是在编译时总是不成功,出现这个错误licencefilesdoesnotsupportdevice,这是怎么回事啊?我已经破解了,显示使用时间到2035年。求助quartus软件的安装许可证的问题你这个licence是不是xp的啊,似乎是装的不对。licencefilesdoesnotsupportdevice,这个licence不支持你的器件,可能是你选用的器件比较新,而l
wxzsbc FPGA/CPLD
如何用java设计一个小型计算器且时间复杂度效果好。
java程序设计与数据结构算法设计 如何用java设计一个小型计算器且时间复杂度效果好。小型计算器是软件编程人元的基本功吧
jklm2830 编程基础
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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