实验目的:
通过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配置RTC——基于(STM32G070+STM32CubeMX+HAL库+RTC)
下一篇:STM32CubeMX配置硬件CRC
推荐阅读最新更新时间:2024-11-16 23:45
推荐帖子
- 这个论坛谈什么啊
- 这个论坛谈什么啊这个论坛谈什么啊有关电子方面的一些东西凡是和电子有关的都有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 编程基础
设计资源 培训 开发板 精华推荐
- LTC2992IDE 双极性电源功率监视器的典型应用(1.5kHz I2C 接口)
- TAR5S31 点稳压器(低压降稳压器)的典型应用
- ESP32四轴飞行器(飞控)
- 条形T12-PD诱骗(已导入原理图和PCB)
- RT8020双路高效PWM降压DC/DC转换器固定稳压器典型应用电路
- LTC3642IDD-5 高效 15V、10mA 稳压器的典型应用电路
- EVAL-ADuC7024QS、ADuC7024 评估板,用于评估微转换器 ADuC7024 开发系统
- 消费类电子产品PIC12 MCU开发系统
- 适用于STM32F756ZG MCU的STM32 Nucleo-144开发板,支持Arduino,ST Zio和morpho连接
- NCP1632GEVB:用于 PFC 应用的集成双 MOSFET 驱动器