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

最新更新时间:1970-01-01来源: 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  模拟看门狗  掉电保存 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic547250.html

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

推荐阅读

STM32CubeMX配置硬件CRC
实验目的:通过STM32CubeMX进行简单配置生成HAL库实现硬件CRC32校验的功能。一、STM32CubeMX配置如下:二、生成的HAL库源码如下:三、Debug结果如下:对字符串"DA0000000000"进行CRC32计算结果如下:四、在线工具CRC校验结果如下:完美,收工!
发表于 2021-09-08
<font color='red'>STM32CubeMX</font>配置硬件CRC
STM32CubeMX配置RTC——基于(STM32G070+STM32CubeMX+HAL库+RTC)
实验目的:通过STM32CubeMX进行简单配置生成HAL库实现内部晶振RTC。一、STM32CubeMX配置如下:1.时钟树配置:因为板子没有外部RTC晶振,所以只能使用内部32KHz晶振,时钟树配置如下:2.RTC配置:(1)关于Asynchronous Predivider value 和 Synchronous Predivider value填写多少,请看下面:因为内部晶振是32KHz,所以毫无疑问应该选择LSI=32KHz即:Asynchronous Predivider value :127Synchronous Predivider value :249(2)关于Hours、Minutes等这些初值没啥好疑
发表于 2021-09-08
<font color='red'>STM32CubeMX</font>配置RTC——基于(STM32G070+STM32CubeMX+HAL库+RTC)
玩转STM32CubeMX | 跑马灯
软件设计3.1 STM32CubeMX设置➡️RCC设置外接HSE,时钟设置为72M➡️PC0和PC2设置为GPIO推挽输出模式、上拉、高速、默认输出电平为高电平➡️输入工程名,选择工程路径(不要有中文),选择MDK-ARM V5;勾选Generated periphera initialization as a pair of ‘.c/.h’ files per IP ;点击GENERATE CODE,生成工程代码3.2 MDK-ARM软件编程➡️在gpio.c文件中可以看到PC0/PC1管脚的初始化函数1void MX_GPIO_Init(void)2{3  GPIO_InitTypeDef
发表于 2021-08-31
玩转<font color='red'>STM32CubeMX</font> | 跑马灯
玩转STM32CubeMX | DAC数模转换
* USART1串口* DAC_OUT1(PA4)* K_UP和K_DOWN按键3.软件设计3.1 STM32CubeMX设置➡️ RCC设置外接HSE,时钟设置为72M➡️ PC0设置为GPIO推挽输出模式、上拉、高速、默认输出电平为高电平➡️ USART1选择为异步通讯方式,波特率设置为115200Bits/s,传输数据长度为8Bit,无奇偶校验,1位停止位➡️ PA0设置为GPIO输入模式、下拉模式;PE3设置为GPIO输入模式、上拉模式➡️ 激活DAC_OUT1,关闭输出缓冲,不使用触发功能➡️输入工程名,选择路径(不要有中文),选择MDK-ARM V5;勾选Generated periphera initialization as
发表于 2021-08-31
玩转<font color='red'>STM32CubeMX</font> | DAC数模转换
玩转STM32CubeMX | SPI总线
的时候必须要有4K以上的SRAM(可以开辟4K的缓冲区)。W25Q64的擦写周期多达10万次,具有20年的数据保存期限。下表是W25QXX的常用命令表2.硬件设计D1指示灯用来提示系统运行状态,K_UP按键用来控制W25Q64数据写入,K_DOWN按键用来控制W25Q64数据读取,串口1用来打印写入和读取的数据信息*指示灯D1*USART1串口*W25Q64*K_UP和K_DOWN按键3.软件设计3.1 STM32CubeMX设置➡️ RCC设置外接HSE,时钟设置为72M➡️ PC0设置为GPIO推挽输出模式、上拉、高速、默认输出电平为高电平➡️ USART1选择为异步通讯方式,波特率设置为115200Bits/s,传输数据长度为8Bit
发表于 2021-08-31
玩转<font color='red'>STM32CubeMX</font> | SPI总线
STM32F0xx的ADC配置
STM32F0xx系列单片机基于ST官方标准库V1.5.0的ADC功能的配置ADC.c文件#include "ADC.h"uint32_t  ADC1ConvertedValue = 0, ADC1ConvertedVoltage = 0;void ADC_GPIO_Configuration(void){ GPIO_InitTypeDef  GPIO_InitStructure;  RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE); //端口配置// GPIO_StructInit(&
发表于 2021-09-09

推荐帖子

zigbee终端采集带modbus rtu协议的仪表数据
本人现在在入手做zigbee的数据采集实验,现在我用zigbee的终端采集仪表的数据,按照modbusrtu协议读不出仪表的数据,我现在也不知道什么原因,希望有人给与指导 staticvoidGenericApp_SendTheMessage(void) { unsignedcharuartbuf[128]=0; unsignedchartt[10]; tt[0]=0x01
tyjlwj RF/无线
STEVAL-IDB007V1评测代码AT指令完成 @【ST MEMS...
经过一周的调试与测试,所有代码均已经完成: 主要功能: 一套AT指令集; AT+指令=指令内容+\n 指示性指令:AT+Help=?\n 回复指令: Availablecommands ------------------ Help:helpinformation RESET:ResetBLE:AT+RESET=? VERSION:Querytheversionnumberof
tang187 意法半导体-低功耗射频
MSP430与ATK-NEO-6M GPS模块
一、测试篇 刚拿到ATK-NEO-6M这个型号的GPS模块,有点不大相信,近100块的东西居然只有3cm那么大一点。之前在网上下载了相关的资料,第一次快速测试肯定是借助电脑,正好msp430开发板上有max232模块,直接将GPS模块的TX接max232的TX,RX同样。PC端安装u-center,u-center是由ublox公司提供的GPS评估软件,功能十分强大,可以对我们的ATK-NEO-6MGPS模块进行全面的测试。安装好后,点击连接/
fish001 微控制器 MCU
SensorTile.Box套件操作模式之专家模式试用
#SensorTile.Box套件操作模式之专家模式试用 #专家模式 按照资源帖中的“SensorTileBox_2_专家模式介绍.pdf”文件指导,很容易就完成了SensorTile.Box的专家模式试用。 #具体步骤 在app的初始界面。点击“CreateanewApp”,显示创建界面后,下拉到显示出“EXPERTVIEW”,并点击。 显示用户应用“CustomApps”,我已创建了几个应用,还可以点击“NEWAPP”再创建应用。 在新创建的应用
lvqy ST MEMS传感器创意设计大赛专区
github基础
学习了,正准备用
lb8820265 MEMS传感器
文章隐藏的链接
如何设置隐藏的链接? 我的网站:http://www.zxpcb.net 因为转载别人的文章,可是里面有隐藏链接,哪位大虾能告诉我怎么去掉这个隐藏的链接?呵呵顺便告诉我如何设置隐藏的链接文章隐藏的链接
wsb86815 嵌入式系统
小广播
何立民专栏 单片机及嵌入式宝典

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

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