嵌入式系统守护神:PVD机制如何成为数据安全的最后防线

STM32学习笔记 & 电源控制PWR 01 STM32 阅读详情

嵌入式系统守护神:PVD机制如何成为数据安全的最后防线

在工业自动化和智能家居设备的实际应用中,突然断电是最令人头疼的突发状况之一。想象一下,一台正在执行精密加工的数控机床突然停电,或者一个智能门锁在验证过程中失去电力,如果没有合适的保护机制,轻则丢失关键数据,重则导致设备损坏甚至安全事故。传统的嵌入式系统往往依赖超级电容或电池备份来维持短暂供电,但这不仅增加硬件成本,还无法应对所有突发情况。

STM32系列微控制器内置的可编程电压检测器(PVD)为这一问题提供了优雅的解决方案。这个硬件模块能够实时监测供电电压,在电压异常时立即触发中断,让系统有机会在完全断电前执行紧急数据保存和设备保护操作。与简单的软件轮询方案相比,PVD的响应时间可以达到微秒级别,真正成为嵌入式系统数据安全的最后一道防线。

1. PVD机制的工作原理与硬件设计要点

PVD本质上是一个集成在微控制器内部的模拟比较器,它持续对比供电电压(VDD)和预设的阈值电压。当检测到电压越过设定的阈值时,会立即产生中断信号,这个信号连接到NVIC的中断线16,具有最高优先级的中断处理能力。

1.1 电压阈值的选择策略

STM32的PVD提供了7个可编程电压等级,从2.2V到2.9V不等(具体数值因系列而异)。选择合适的阈值电压需要综合考虑多个因素:

// 典型的PVD电压等级定义(以STM32L0系列为例)
#define PWR_PVDLEVEL_0 0x00000000U  // 2.2V
#define PWR_PVDLEVEL_1 0x00000020U  // 2.3V 
#define PWR_PVDLEVEL_2 0x00000040U  // 2.4V
#define PWR_PVDLEVEL_3 0x00000060U  // 2.5V
#define PWR_PVDLEVEL_4 0x00000080U  // 2.6V
#define PWR_PVDLEVEL_5 0x000000A0U  // 2.7V
#define PWR_PVDLEVEL_6 0x000000C0U  // 2.8V
#define PWR_PVDLEVEL_7 0x000000E0U  // 2.9V

在实际应用中,阈值选择需要平衡两个关键因素:预警时间和系统稳定性。设置较高的阈值(如2.8V)可以提供更长的预警时间,但可能会因电源纹波而误触发;较低的阈值(如2.4V)减少了误触发风险,但留给系统响应的时间较短。

提示:工业环境中电源噪声较大,建议选择中等阈值(2.5V-2.6V)并结合软件去抖机制,既能保证可靠性又能获得足够的响应时间。

1.2 硬件设计的关键考量

PVD机制的可靠性很大程度上取决于硬件设计。电源电路中的储能电容容量直接影响掉电后的维持时间,这个时间必须长于PVD中断处理的最大执行时间。

典型电容计算公式:

C = (I * t) / ΔV

其中:

  • C:所需电容值(法拉)
  • I:系统最大工作电流(安培)
  • t:需要维持的时间(秒)
  • ΔV:允许的电压下降范围(伏特)

对于典型的STM32应用,以下配置提供了良好的平衡:

系统电流维持时间电压下降计算电容值推荐电容
50mA10ms0.5V1000μF1000μF电解电容
100mA5ms0.5V1000μF1000μF电解电容 + 100μF陶瓷电容
200mA3ms0.5V1200μF2200μF电解电容

在实际PCB布局中,储能电容应尽可能靠近MCU的VDD引脚,并使用低ESR(等效串联电阻)的陶瓷电容进行高频去耦,确保电压检测的准确性。

2. 软件实现与中断处理优化

PVD的软件配置相对简单,但实现一个健壮的处理系统需要仔细考虑多个细节。以下是基于HAL库的完整实现示例。

2.1 初始化配置

void PVD_Init(void)
{
    PWR_PVDTypeDef pvdConfig;
    
    // 使能PWR时钟
    __HAL_RCC_PWR_CLK_ENABLE();
    
    // 配置PVD参数
    pvdConfig.PVDLevel = PWR_PVDLEVEL_6;    // 2.8V阈值
    pvdConfig.Mode = PWR_PVD_MODE_IT_RISING_FALLING;  // 双边沿触发
    
    // 应用配置并使能PVD
    HAL_PWR_ConfigPVD(&pvdConfig);
    HAL_PWR_EnablePVD();
    
    // 配置NVIC
    HAL_NVIC_SetPriority(PVD_IRQn, 0, 0);  // 最高优先级
    HAL_NVIC_EnableIRQ(PVD_IRQn);
}

2.2 中断服务例程

中断处理函数需要尽可能高效,因为系统可能在极短时间内完全断电。关键操作应该优先执行,非关键操作可以省略或简化。

// 全局状态标记
volatile static uint8_t emergencyHandled = 0;

void PVD_IRQHandler(void)
{
    // 处理PVD中断
    HAL_PWR_PVD_IRQHandler();
}

void HAL_PWR_PVDCallback(void)
{
    // 检查当前电压状态
    if (__HAL_PWR_GET_FLAG(PWR_FLAG_PVDO)) 
    {
        // 电压低于阈值 - 掉电情况
        if (!emergencyHandled) 
        {
            emergencyHandled = 1;
            
            // 执行紧急操作
            SaveCriticalData();    // 保存关键数据
            SecurePeripherals();   // 保护外设
            EnterSafeState();      // 进入安全状态
        }
    }
    else 
    {
        // 电压恢复 - 上电情况
        emergencyHandled = 0;
        RestoreSystem();           // 恢复系统状态
    }
    
    // 清除标志位
    __HAL_PWR_CLEAR_FLAG(PWR_FLAG_PVDO);
}

2.3 响应时间优化技巧

PVD中断的响应时间直接影响数据保存的成功率。以下优化措施可以显著提高系统性能:

  1. 中断优先级设置:将PVD中断设置为最高优先级,避免被其他中断阻塞
  2. 关键数据常驻内存:使用__attribute__((section(".ramfunc")))将关键函数放在RAM中执行,避免Flash访问延迟
  3. 预计算校验和:提前计算数据校验和,减少中断处理时间
  4. 最小化写操作:只保存真正关键的数据,避免不必要的Flash写入
// RAM中执行的紧急保存函数
__attribute__((section(".ramfunc"))) void SaveCriticalData(void)
{
    // 仅保存最必要的数据
    SaveToBackupRegister(CRITICAL_DATA1);
    SaveToBackupRegister(CRITICAL_DATA2);
    
    // 使用硬件CRC加速校验计算
    uint32_t crc = CalculateHardwareCRC(criticalData, dataSize);
    SaveToBackupRegister(crc);
}

3. 实际应用场景与案例分析

PVD机制在各种嵌入式场景中都有重要应用,下面通过几个典型案例展示其实际价值。

3.1 工业自动化系统

在工业控制系统中,突然断电可能导致机械臂停留在危险位置或丢失重要的生产数据。某数控机床制造商在使用PVD后,成功将故障恢复时间从平均15分钟减少到不足30秒。

他们的实现方案:

  • PVD阈值:2.7V(提供约8ms的预警时间)
  • 保存数据:当前位置、加工参数、错误日志
  • 恢复策略:上电后自动恢复到断电前状态,提示用户确认后继续

注意:工业环境中的电气噪声较大,建议在PVD中断中加入软件去抖机制,避免因电压波动导致的误触发。

3.2 智能家居设备

智能门锁、恒温器等设备需要确保即使在断电情况下也能保持安全状态。某智能门锁厂商利用PVD实现了以下功能:

  1. 断电前的最后操作记录
  2. 电机驱动的安全锁定(避免断电时卡在半开状态)
  3. 电池电量的实时监控
void HandleDoorLockPVD(void)
{
    if (__HAL_PWR_GET_FLAG(PWR_FLAG_PVDO)) 
    {
        // 确保门锁处于完全锁定或完全解锁状态
        if (GetLockPosition() != LOCKED && GetLockPosition() != UNLOCKED) 
        {
            CompleteLockMovement();  // 完成运动到端点
        }
        
        // 保存当前状态和事件日志
        SaveLockStatus();
        LogEvent(POWER_LOSS_EVENT);
    }
}

3.3 数据采集与记录系统

对于科学仪器和环境监测设备,数据完整性至关重要。某气象监测站使用PVD确保即使在恶劣天气导致的供电不稳定情况下,也能保存完整的监测数据。

他们的数据保护策略:

数据重要性保存频率PVD触发时操作
实时读数每分钟立即保存到Flash
设备状态每小时保存到备份寄存器
系统日志每天不紧急保存

4. 高级技巧与最佳实践

经过多个项目的实践验证,我们总结出以下PVD使用的最佳实践。

4.1 多级电压监测策略

对于要求极高的应用,可以结合PVD和ADC实现多级电压监测:

void MultiLevelVoltageMonitoring(void)
{
    // PVD作为第一级快速响应
    ConfigurePVD(2.8V, PWR_PVD_MODE_IT_FALLING);
    
    // ADC作为第二级精确监测
    StartADCVoltageMonitoring(2.6V);
}

void HAL_PWR_PVDCallback(void)
{
    // 第一级响应:快速保存最关键数据
    SaveMostCriticalData();
    
    // 启动第二级处理
    StartGracefulShutdown();
}

4.2 与低功耗模式的协同

在电池供电设备中,PVD可以与低功耗模式协同工作,实现智能电源管理:

void EnterLowPowerWithPVD(void)
{
    // 配置PVD在特定电压阈值唤醒系统
    ConfigurePVD(3.0V, PWR_PVD_MODE_IT_RISING);
    
    // 进入停止模式,等待PVD中断唤醒
    HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON, PWR_STOPENTRY_WFI);
    
    // 唤醒后处理
    HandleWakeupFromLowVoltage();
}

4.3 故障诊断与调试

PVD系统的调试需要特殊工具和方法。我们推荐以下调试策略:

  1. 可调电源测试:使用可编程电源模拟掉电过程,验证响应时间
  2. 状态指示灯:在调试版本中添加LED指示,显示PVD触发状态
  3. 详细日志记录:记录每次PVD事件的时间、电压值和系统状态
void DebugPVDEvent(float currentVoltage)
{
    // 记录详细的调试信息
    LogDebug("PVD Event at %.2fV, System State: %d", 
             currentVoltage, GetSystemState());
    
    // 视觉反馈
    BlinkLED(3, 100);  // 闪烁3次表示PVD触发
}

4.4 可靠性增强措施

为确保PVD系统在各种条件下的可靠性,建议实施以下措施:

  • 定期自检:上电时检查PVD功能是否正常
  • 电压校准:使用ADC读数校准PVD阈值
  • 看门狗配合:PVD中断中刷新看门狗,确保系统不会在紧急处理时复位
void PVD_SelfTest(void)
{
    // 模拟电压下降测试PVD响应
    if (IsDebugBuild()) 
    {
        TriggerTestPVDInterrupt();
        VerifyEmergencyProcedures();
    }
}

在实际项目中,PVD机制已经证明了其作为数据安全最后防线的价值。通过精心设计硬件参数、优化软件实现、并结合具体应用场景的特殊需求,开发者可以构建出真正可靠的嵌入式系统,即使在最恶劣的供电条件下也能保证数据完整性和系统安全。

新能源知识库(62)组串式、集中式和高压直挂式 因需多台PCS及独立监控设备,单位功率成本比集中式高15%–20%。高压直挂式因省去变压器,大容量项目成本更低(>5MW时优势显著)。组串式储能、集中式储能和高压直挂式储能是当前主流的三类技术路线,其核心差异源于系统架构和控制逻辑的设计差异。组串式交流侧需变压器升压至10kV/35kV,高压直挂式可直接输出6kV/35kV电压,减少转换损耗。多台小功率PCS并联(每簇独立管理)单台大功率PCS(多簇直流侧并联)环流导致容量衰减(损失5%–8%)无变压器损耗(效率>99%)高压直挂电站(≥10MW) 阅读详情

相关推荐

手把手教你设计T型和Π型衰减器:从分贝计算到电阻选型全攻略

本文提供了一份T型和Π型衰减器的详细设计指南,涵盖从分贝计算到电阻选型的全过程。文章以50欧姆系统为例,通过公式推导和实例演示,手把手教你计算两种经典拓扑的电阻值,并深入探讨了电阻选型、误差控制及高频应用等关键实践技巧,帮助工程师和爱好者精准实现信号衰减与阻抗匹配。

blue42的博客 1340

STM32关于PVD低电压能检测的知识

在实际工程运用中需要对突发情况作出及时的相应,通常都需要考虑当系统电压下降或断电时,需要对控制系统加以保护。这时候就需要在程序中加入系统电压监测(PVD)。供电电压降低到某一个电压值时,需要系统进入保护状态,执行紧急关闭任务(对系统数据进行保存,并对外设进行相应的保护操作)。传统单片机例如STC12C60S2,其自带A/D,可以利用A/D对工作电压进行检测,每隔一段时间进行比较,如果异常进入保护模...

城南花已开的博客 6199

c++2048小游戏编写

最近编写了一个小游戏,叫作2048,用到了面向对象的知识。

一个学生的博客 2373

STM32 G4 HAL库 POR/PDR/BOR、PVD;实现掉电保存数据和掉电复位

配置STM32的OptionBytes,实现指定电压掉电复位;配置PVD实现掉电产生中断。

qq_41532050的博客 2671

win11本地部署 DeepSeek-R1 大模型!免费开源,媲美OpenAI-o1能力,断网也能用

是否安装成功,然后直接运行部署deepseek-r1的命令。,出现下面界面即为安装成功。在cmd窗口中先输入。

记录学习编程的日常 2992

S7-PLCSIM Advanced V3.0虚拟PLC组态下载失败?手把手教你解决IP地址冲突问题

本文针对S7-PLCSIM Advanced V3.0组态下载失败问题,深入剖析了IP地址冲突的根本原因。通过对比博途项目PLC、虚拟网卡及本机物理网卡的IP配置,提供了清晰的排查流程与标准化解决方案,帮助用户快速修复网络可达性问题,确保虚拟PLC仿真顺利进行。

weixin_29306261的博客 194

【正点原子STM32连载】 第二十八章 低功耗实验摘自【正点原子】STM32F103 战舰开发指南V1.2

电源控制部分(PWR)概述了不同电源域的电源架构以及电源配置控制器。PWR的内容比较多,我们把它们的主要特性概括为以下3点:电源系统:VDDA供电区域、VDD供电区域、1.8V供电区域、后备供电区域。电源监控:POR/PDR监控器、PVD监控器。电源管理:低功耗模式。下面将分别对这3个特性进行简单介绍。28.1.1 电源系统为了方便对电源系统进行管理,设计者把STM32的内核和外设等器件跟据功能划分了不同的电源区域,具体如图28.1.1.1所示。图28.1.1.1 电源概述框图。

weixin_55796564的博客 1383

基于STM32F103C8T6的红外循迹避障小车

编程思路:控制核心板IO口的电平(即电机驱动模块的AIN1,AIN2,BIN1,BIN2)从而控制AO1、AO2、BO1、BO2的电平高低,进而控制电机使其正转、反转、不转。由于单纯地拉高拉低电平只能让电机在转与不转的状态切换,故决定利用TIM4的两个通道分别产生两路PWM信号来控制电机速度,四个电机两个一组,同一侧的两个连接在同一个PWM上。(#include "dianji.h"文件中同时写了对循迹模块引脚的初始化)

weixin_48743503的博客 1万+

stm32 RCC global interrupt 等不常见中断

stm32中断向量表里有很多中断都很少碰到,但是在CubeMX配置的时候又有 本篇文章来记录下stm32 不常见中断 1.RCC global interrupt 中文资料中基本上没有提及这个中断。 我在外网EMCU这个网站找到对于这个中断的叙述,大意是CubeMX配置了RCC global interrupt中断后,当在程序执行过程中改变时钟速度配置的时候会在时钟配置操作结束进入这个中断。 看上去是时钟在降频升频过程中调用的中断,本人没有触发过,有用到的小伙伴可以补充下。 In the RCC – NVI

silent_dusbin的博客 4867

高速PCB设计中的一些常用规则

目前,高速PCB产品设计中,高速接口的应用日益普及,对于复杂的设计而言,高速走线就如同“蜘蛛网”一样密布在PCB各处,因此,在进行PCB检查及评审时,必要的高速PCB设计经验法则及规则是工程师开展工作必不可少的知识储备。

一只豌豆象的博客 3415

SAP 批次管理

批次管理: 业务场景: 批次常用于:采购、生产、SD等: 1、先进先出,先入库的先出库(如何实现),基于入库时间来自动确定出库策略。 2、追塑:基于批次进行产品质量追溯 例如订单MTO ---> PP ----> MM(批次关联)。SO—>PP工单 --> 预留 --> 发料(基于批次A\B\C)-->产成品入库-->批次入库D--> ...

willieyuan的博客 1万+

#stm32低功耗实验——pvd

电源控制部分(PWR)概述了不同电源域的电源架构以及电源配置控制器。PWR 的内容比较多,我们把它们的主要特性概括为以下 3 点:电源系统:USB 稳压器、内核域(VCORE)、VDD 域、备份域、模拟域(VDDA)。电源监控:POR/PDR 监控器、BOR 监控器、PVD 监控器、AVD 监控器、VBAT 阈值、温度阈值。电源管理:VBAT 电池充电、工作模式、电压调节控制、低功耗模式。下面将分别对这 3 个特性进行简单介绍。

Pretender_1205的博客 1960

用 Message Monitoring Overview 打造接口健康驾驶舱:SAP AIF 消息监控实战解析

究竟解决了什么痛点?概括起来,这个应用把SAP AIF的接口监控,从传统的事务码和技术视角,带到了一个更加直观、业务友好的层次:(通过卡片式总览,让你在一个页面上看到所有自己负责的接口及其健康状况。通过和的联动,实现了从接口态势到具体消息的快速钻取。通过Recipient模型和应用,实现了监控职责的灵活分配。借助拖拽排序、搜索过滤等特性,让每个运维人员都可以打造属于自己的接口健康 cockpit。如果你正在做S/4HANA或项目,无论是公有云还是本地部署,只要系统启用了SAP AIF。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 107

STM32 PVD的使用(掉电检测)

有时在一些应用中,我们需要检测系统是否掉电了,或者要在掉电的瞬间需要做一些处理。STM32就有这样的掉电检测机制——PVD(Programmable Voltage Detecter),即可编程电压检测器。通过PVD我们可以设定一个基准电压,当芯片的供电电压高于或低于该基准电压时便产生PVD中断,我们可以在PVD中断里做一些处理。本文以STM32L051为例,来说明PVD的使用。 以下是STM32L051用户手册中对PVD的描述,根据这张图我们可以知道,PVD中断在内部是连接在中断线16的,软件上可以配置

Dokin 2万+

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

stm32- 利用PVD中断实现掉电保存数据(附配置代码)

有时在一些应用中,我们需要检测系统是否掉电了,或者要在掉电的瞬间需要做一些处理。STM32就有这样的通过PVD我们可以设定一个基准电压,当芯片的供电电压高于或低于该基准电压时便产生PVD中断,我们可以在PVD中断里做一些处理。掉电检测机制PVD(ProgrammableVoltage Detecter),即可编程电压检测器。代码仅供参考具体还需要根据实际情况去配置PVD中断。线,如果该中断在外部中断寄存器中是使能的,该事。源,这几位选择监控电压的阀值。下降边沿触发设置,就会产生。阀值之上时,根据外部中。

rembersr的博客 4161

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

STM32 PVD掉电检测功能的使用方法

STM32本身内置了一种掉电检测机制——PVD(Programmable Voltage Detecter),即可编程电压检测器。其原理是通过PVD监测电压变化,并提前设定好一个基准电压,当芯片的供电电压高于或低于该基准电压时便产生PVD中断,在PVD中断里面就可以做一些紧急处理。

ShenZhen_zixian的博客 6833

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

STM32 F103 使用HAL库配置PVD

PVD (Programmable Votage Detector) ,即可编程电压监测器 PVD可以检测电压变化并触发中断,一般用于判断断电并进行数据保存 工程是使用STM32CubeMx生成的,在STM32CubeMx找了大半天,没找到可以PVD配置的地方 找到官方例程:Repository\STM32Cube_FW_F1_V1.8.0\Projects\STM3210E_EVAL\Ex...

坤仔的专栏 8188

STM32-电源管理(实现低功耗)

进入停止模式后,STM32的所有I/O都保持在停止前的状态,而当它被唤醒时,STM32使用HSI作为系统时钟(8MHz)运行,由于系统是在会影响很多外设的工作状态,所以一般我们在唤醒后会重新开始HSE,把系统时钟设置成原来的状态。直接调用WFI和WFE指令可以进入睡眠模式,而进入停止模式这还需要在调用指令前设置一些寄存器位,STM32 HAL库把这部分的操作封装到HAL_PWR_EnterSTOPMode()。来调用(因为__wfi和__wfe是编译器内置的函数,函数内部调用了相对应的汇编指令)。

weixin_47077788的博客 2783

【正点原子STM32】PVD低功耗实验 – 电源监控(POR/PDR监控器、PVD监控器、 BOR监控器、AVD监控器、VBAT阈值、温度阈值、PVD相关寄存器和HAL库驱动、PVD的使用步骤)

(可编程电压检测器):监控芯片的供电电压(通常为VDD),并在电压低于或高于特定阈值时触发相应的中断或复位。通过调用以上的HAL库驱动函数,并结合相关的结构体配置,可以方便地实现对PVD功能的配置和使能,从而实现对供电电压的监测和管理。(欠压复位):在供电电压低于特定阈值时触发复位操作,以确保系统在电源电压不足时不会工作,从而避免不可预测的行为或数据损坏。通过以上步骤,可以完成对PVD功能的配置和使用,确保系统在供电电压异常时能够及时响应并采取相应的措施,保障系统的稳定运行。

咖喱年糕的博客 4008

STM32F429的外接nandflash当作U盘实现数据记录功能

目录 目录 功能需求 主要功能 485数据采集 NANDFlash模拟成U盘 读写Fatfs 具体实现 遇到的问题 功能需求实现数据采集记录的功能。需要每一秒将数据记录一次,并且实现24小时循环记录的功能。如果电脑插上USB_SLAVE口,就可以直接将采集到的数据拷贝出来。在上位机上进行数据的管理。主要功能1.485数据采集项目主要利用485进行数据采集,每接收到一个完整的一帧数据,就可以解包并进行

bigmagic123的博客 1万+

18.STM32电源管理

18.STM32电源管理

qq_54674051的博客 1766

STM32HAL库--PWR低功耗实验(速记版)

电源控制部分(PWR)概述了不同电源域的电源架构以及电源配置控制器。PWR 的内容比较多,我们把它们的主要特性概括为以下 3 点:电源系统:USB 稳压器、内核域(VCORE)、VDD 域、备份域、模拟域(VDDA)。电源监控:POR/PDR 监控器、BOR 监控器、PVD 监控器、AVD 监控器、VBAT 阈值、温度阈值。电源管理:VBAT 电池充电、工作模式、电压调节控制、低功耗模式。下面将分别对这 3 个特性进行简单介绍。

荒野 2376

【无标题】

STM32 PVD的使用(掉电检测)

woshishui_bt的博客 739

MCU开发学习记录18* - PWR学习与实践(HAL库) - PVD监控电压、睡眠模式和停止模式 - STM32CubeMX

本文将介绍PWR的相关概念以及STM32CubeMX生成PWR的配置函数,实现PVD监控VDD电压、睡眠模式和停止模式。

努力学习ing 2108

STM32 PVD中断问题

void PVD_Init(void) { NVIC_InitTypeDef NVIC_InitStruct; EXTI_InitTypeDef EXTI_InitStructure; NVIC_InitStruct.NVIC_IRQChannel = PVD_IRQn; NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority = ...

feiyingzaishi的博客 5735

STM32 通过 可编程电压检测器 (PVD) 进行掉电瞬间重要数据的保存

STM32 掉电瞬间 对重要数据进行保存 PVD中断

qq_44759447的博客 646
上一篇: CASS高效绘图技巧与实用快捷键解析
下一篇: 山景DU562_32位DSP音频处理芯片在卡拉OK混响中的专业应用
Python
博客等级 码龄26年 1973粉丝 1567原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值