我的PVD的驱动以及例程位于STM32L0xx_Drivers这个库当中,在使用前最好先阅读readme.md文件

PVD 是一种检测MCU供电情况的技术。当供电电压高于或者低于一定阈值的时候,可以在寄存器上体现出来,或者直接产生硬件中断。

在实际使用MCU时,特别是电池供电的方案中,往往会遇到供电不够导致MCU或者外设工作不正常的情况。PVD在这个时候就可以派上用场了。

PVD的使用按照数据手册上的说明,就是首先设置PVD阈值(PVD thresholds),当MCU的VDD引脚的电压高于阈值时,则PVD output=1,当VDD电压低于阈值时,PVD output=0,如下图所示:

其中PVD output的结果可以再在存器中查看到



关于PVD的阈值的设定共有两种方式:

  • 固定阈值(1.9V 2.1V 2.3V 2.5V 2.7V 2.9V 3.1V)
  • 与引脚比较(PB7)

在实际使用的过程中,PVD可以用查询挥着中断的方式来工作。

在测试的例程中,我配置PVD工作方式为中断上升下降沿触发,当VDD高于预设PVD阈值或者低于阈值而产生边沿触发时,都会形成一次PVD中断,然后读取PWR_CSR的PVDO标志位检查是低电压提醒还是高电压提醒,以此来达到监控MCU供电情况的目的。

注意:当使用PVD功能检测低电压时,VDD电压刚刚小于阈值时并不会直接产生PVD中断,只有当VDD电压小于(阈值-50MV)时,才会产生中断。

如果有什么疑问或者错误欢迎大家指正,email:454626653@qq.com

STM32L051 PVD的调试的更多相关文章

  1. UE4物理模块(一)---概述与可视化调试

    UE4.21前的版本采用的是NVIDIA的PhysX做为其默认的物理引擎,用于计算3D世界的碰撞查询与物理模拟.自4.21版本开始改物理调用接口,但这并不是闲来重构代码,果然在2019GDC大会上放出 ...

  2. C# Web应用调试开启外部访问

    在用C#开发Web应用时有个痛点,就是本机用VS开启Web应用调试时外部机器无法访问此Web应用.这里将会介绍如何通过设置允许局域网和外网机器访问本机的Web应用. 目录 1. 设置内网访问 2. 设 ...

  3. NodeJs之调试

    关于调试 当我们只专注于前端的时候,我们习惯性F12,这会给我们带来安全与舒心的感觉. 但是当我们使用NodeJs来开发后台的时候,我想噩梦来了. 但是也别泰国担心,NodeJs的调试是很不方便!这是 ...

  4. 微信公众号开发之VS远程调试

    目录 (一)微信公众号开发之VS远程调试 (二)微信公众号开发之基础梳理 (三)微信公众号开发之自动消息回复和自定义菜单 前言 微信公众平台消息接口的工作原理大概可以这样理解:从用户端到公众号端一个流 ...

  5. 写出易调试的SQL(修订版)

    h4 { background: #698B22 !important; color: #FFFFFF; font-family: "微软雅黑", "宋体", ...

  6. tomcat开发远程调试端口以及利用eclipse进行远程调试

    一.tomcat开发远程调试端口 方法1 WIN系统 在catalina.bat里:  SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compi ...

  7. Hawk 4.7 单步调试

    单步调试的意义 已经编写的工作流,可能会因为某些外界环境的变化而出错,此时需要排除错误,我们可以使用单步调试. 单步调试的本质,相当于只使用前n个模块,这样就能看到每个步骤下,流的改变. 例子 还是上 ...

  8. Visual Studio 2012远程调试中遇到的问题

    有的时候开发环境没问题的代码在生产环境中会某些开发环境无法重现的问题,或者需要对生产环境代码进行远程调试该怎么办? Vs已经提供给开发者远程调试的工具 下面简单讲讲该怎么用,前期准备:1.本地登录账户 ...

  9. iOS逆向工程之Hopper+LLDB调试第三方App

    LLDB是Low Level Debugger的简称,在iOS开发的调试中LLDB是经常使用的,LLDB是Xcode内置的动态调试工具.使用LLDB可以动态的调试你的应用程序,如果你不做其他的额外处理 ...

随机推荐

  1. 内存中 OLTP - 常见的工作负荷模式和迁移注意事项(一)

    ----------------------------我是分割线------------------------------- 本文翻译自微软白皮书<In-Memory OLTP – Comm ...

  2. [原创]移动应用测试技术圈QQ群:211828629

    [原创]移动应用测试技术圈QQ群:211828629  移动应用测试技术圈QQ群:211828629,研究ios,android,winphone等平台测试技术,涉及功能/性能/安全/自动化/用户体验 ...

  3. 线程与并发系列一:Lock、Monitor、UserSpinLock

    using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using S ...

  4. VS SuppressMessage忽略特定方法的警告信息

    VS在编译源码的时候有很多警告信息,有些时候 我们需要忽略一个特定方法的特定警告信息,于是就用SuppressMessage特性,可是这个特性的参数不太好搞定,还好有VS,Suppressing Co ...

  5. 了解 JavaScript (4)– 第一个 Web 应用程序

    在下面的例子中,我们将要构建一个 Bingo 卡片游戏,每个示例演示 JavaScript 的不同方面,通过每次的改进将会得到最终有效的 Bingo 卡片. Bingo 卡片的内容 美国 Bingo ...

  6. Node-restify 简介

    restify 是Node.js的模块.虽然restify的API或多或少的参考了express,但restify不是一个MVC框架,它是一套为了能够正确构建REST风格API而诞生的框架. http ...

  7. java.lang.IllegalArgumentException: You must not call setTag() on a view Glide is targeting

    将原有项目图片加载框架picasso改为glide,关于picasso和glide文档就自行查阅相关资料 显示 图片 例子 Glide.with(mContext).load(imageUrl).pl ...

  8. [js] js判断浏览器(转)

    (function($, window, document,undefined){ if(!window.browser){ var userAgent = navigator.userAgent.t ...

  9. 采用ODAC,ODBC连接Oracle【转】

    采用ODAC,ODBC连接Oracle 在没有装oracle的环境中,偶尔会需要访问数据库(Word文档查看数据,开发项目运行等等),简单介绍我用过的方案. 一:ODAC 1.介绍.ODAC,全称:o ...

  10. dubbo 2.5.4-SNAPSHOT dubbo-admin 报错

    问题描述: RROR context.ContextLoader - Context initialization failed org.springframework.beans.factory.B ...