PVD中斷檢測掉電

文章目錄

  • 概述
  • 配置
  • 掉電擦寫注意

概述

STM32 PVD功能具體可以檢測到上電、掉電瞬間,其處理方式有中斷響應及事件響應。掉電設置為上升沿觸發,上電為下降沿觸發在這里插入圖片描述

配置

1.開啟PVD中斷并設置其優先級
2.配置響應中斷或事件的閾值電壓
3.配置響應模式
在這里插入圖片描述
生成工程之后在工程里面進行模式和閾值的配置:

void PVD_config()//掉電監測初始化
{__HAL_RCC_PWR_CLK_ENABLE();HAL_NVIC_SetPriority(PVD_IRQn,0,0);HAL_NVIC_EnableIRQ(PVD_IRQn);PWR_PVDTypeDef sConfigPVD;sConfigPVD.PVDLevel=PWR_PVDLEVEL_7;//level7為2.9V閾值,對于掉電來說閾值越高越快響應sConfigPVD.Mode=PWR_PVD_MODE_IT_RISING  ;//模式為掉電時觸發中斷HAL_PWR_ConfigPVD(&sConfigPVD);HAL_PWR_EnablePVD();
}

然后將上面的PVD初始化函數放在主函數初始化里面執行,但是要在執行該函數前先延時一段時間,因為上電瞬間MCU供電電壓還未穩定,如果不延時一段時間會導致誤觸發PVD中斷,因為我們想要的效果是在掉電的時候觸發中斷在這里插入圖片描述
最后在stm32f1xx.it.c文件中找到其對應的中斷服務函數,把要實現的功能如擦寫數據放在里面即可:在這里插入圖片描述
在這里插入圖片描述

void HAL_PWR_PVDCallback(void)
{// 在這里處理掉電中斷事件if (__HAL_PWR_GET_FLAG(PWR_FLAG_PVDO) != RESET){// 電壓低于閾值,執行掉電處理}else{// 電壓高于閾值,執行恢復處理}
}

掉電擦寫注意

掉電持續約50ms

FLASH的1頁的擦除時間約為10-20ms,寫一個字節的時間約幾十us
EEPROM如下
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/79571.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/79571.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/79571.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

快速掌握--cursor

Cursor - The AI Code Editor 官網下載安裝 詳細教程:cursor 下載安裝使用(保姆教程)_cursor下載-CSDN博客 不知道為啥,第一次給我用的是繁體回答 然后改了一下詢問方式 codebase就是告訴ai可以從整個項目中找答案&#xff0…

1993年地級市民國鐵路開通數據(地級市工具變量)

1993年地級市民國鐵路開通數據(地級市工具變量) 1、時間:1933年 2、指標:是否開通鐵路 3、來源:《Z國鐵道便覽》 4、方法說明:參考田坤(2023)參考章元(2008&#xff…

AI優化SEO關鍵詞實踐路徑

內容概要 隨著人工智能技術深度滲透數字營銷領域,SEO關鍵詞優化正經歷從人工經驗驅動向算法智能決策的躍遷。本文聚焦AI技術在SEO關鍵詞全生命周期管理中的應用框架,系統闡述智能算法如何通過海量數據挖掘潛在搜索需求、解析用戶意圖的語義關聯性&#…

論微服務架構及其應用

試題四 論微服務架構及其應用 微服務提倡將單一應用程序劃分成一組小的服務,服務之間互相協調、互相配合,為用戶提供最終價值。每個服務運行在其獨立的進程中,服務與服務間采用輕量級的通信機制互相溝通。在微服務架構中,每個服務…

基于SpringBoot+Vue實現的電影推薦平臺功能三

一、前言介紹: 1.1 項目摘要 2023年全球流媒體用戶突破15億,用戶面臨海量內容選擇困難,傳統推薦方式存在信息過載、推薦精準度低等問題。傳統推薦系統存在響應延遲高(平均>2s)。隨著互聯網的快速發展,…

ARM 算數指令

加法 ADD 減法 SUB 取負 NEG 比較 CMP 乘法 MUL 移位 LSL、LSR、ASL、ASR、ROL、ROR加法和減法 絕大多數微處理器都實現了帶進位的加法指令,能夠將兩個操作數和條件碼寄存器中的進位位加到一起。這條指令會使字長大于計算機固有字長的鏈接運算更加方便。 說明了如何…

JAVA---集合ArrayList

集合 1. 自動擴容 ,集合長度可變 2. 只可以存引用數據類型,如果要存基本數據類型,需要將其轉換成對應的包裝類 ArrayList 定義在 java.util 下的,實現了 List 接口。ArrayList 內部以動態數組的形式存儲元素,這意…

Scrapy框架之【settings.py文件】詳解

settings.py 文件的主要作用是對 Scrapy 項目的全局設置進行集中管理。借助修改這個文件中的配置項,你可以對爬蟲的行為、性能、數據處理等方面進行靈活調整,而無需修改爬蟲代碼。 ①默認英文注釋settings.py # Scrapy settings for douban project # …

Java變量學習筆記

Java變量 -為什么需要變量? 一個程序就是一個世界 變量是程序的基本組成單位 不論是使用哪種高級程序語言編寫程序,變量都是其程序的基本組成單位,比如: //變量有三個基本要素(類型名稱值) class Test{public static void main(String [largs){int a1;…

數據結構*隊列

隊列 什么是隊列 是一種線性的數據結構,和棧不同,隊列遵循“先進先出”的原則。如下圖所示: 在集合框架中我們可以看到LinkedList類繼承了Queue類(隊列)。 普通隊列(Queue) Queue中的方法 …

Nginx — 防盜鏈配置

防盜鏈簡述 防盜鏈是一種保護網絡資源所有者權益的技術手段,旨在防止未經授權的用戶或網站通過直接鏈接的方式盜用資源,以下是關于防盜鏈的簡述: 原理 基于請求頭驗證:服務器通過檢查請求頭中的特定字段,如Referer字…

【淺學】Windows下ffmpeg+nginx+flv將本地視頻推流在本地搭建的Web前端頁面中播放,超詳細步驟

Nginx安裝和配置 下載nginx-1.19.3-http-flv 模塊預編譯包并解壓放在d盤,路徑就跟安裝步驟里說的一樣(如下圖),不然會有其他問題出現。 打開conf/nginx.conf,查看RTMP和http相關的配置,確認端口號和路由名稱 ffpemg推流視頻…

Ubuntu-tomcat安裝部署

https://blog.csdn.net/weixin_43877427/article/details/144697087 Linux下Tomcat安裝與配置_tomcat linux安裝及配置教程-CSDN博客 一、下載Tomcat 1、官網下載 進入后根據自己需要選擇不同的版本,點擊download 進入后,在下圖標注的里邊選擇要下載…

希洛激活器策略思路

在復雜多變的外匯市場中,交易者常常尋求有效的工具來輔助決策。 希洛激活器作為一種綜合性的技術指標,結合了江恩理論、CCI(商品通道指數)和MACD(移動平均收斂發散指標),旨在為交易者提供更為全…

n8n工作流自動化平臺的實操:本地化高級部署

一、本地高級部署 1.下載 docker pull docker.n8n.io/n8nio/n8n 2.運行 docker volume create n8n_data docker run -dit --name n8n -p 5678:5678 -v n8n_data:/home/node/.n8n -e N8N_SECURE_COOKIEfalse -e N8N_RUNNERS_ENABLEDtrue -e N8N_ENFORCE_SETTINGS_FIL…

vector和string的迭代器

1. 迭代器的本質 (1) 標準要求 C 標準要求 std::string 和 std::vector 的迭代器必須是 隨機訪問迭代器(Random Access Iterator)。 指針天然滿足隨機訪問迭代器的所有操作(如 、--、n、* 等),因此可以直接用指針實現…

PyCharm代理配置全攻略:系統設置+Python運行環境一鍵搞定

文章目錄 1. 設置系統代理1.1 作用范圍1.2 使用場景1.3 設置步驟 2. 設置 python 運行/調試代理2.1 作用范圍2.2 使用場景2.3 設置步驟 Pycharm 工具作為一款強大的 IDE,其代理配置在實際開發中也是必不可少的,下面介紹下如何配置 Pycharm 的代理。 1. …

stm32 g031g8 flash擦除函數被坑

先記錄一下在擦除的時候由于調用了這個FLASH_PageErase(FLASH_BANK_1, secpos); 導致擦除不成功,寫入失敗。 下面的擦除有問題// 使用 FLASH_PageErase 擦除該頁while ((FLASH->SR & FLASH_SR_BSY1) ! 0); // 等待空閑FLASH_PageErase(FLASH_BANK_1, secpo…

深度學習與 PyTorch 基礎

筆記 1 深度學習簡介 1.1 深度學習概念 深度學習是機器學習的一類算法, 以人工神經網絡為結構, 可以實現自動提取特征 深度學習核心思想是人工神經網絡為結構, 自動提取特征 1.2 深度學習特點 自動提取特征 解釋性差 大量數據和高性能計算能力 非線性轉換(引入非線性因…

【Unity】XLua訪問C#文件

創建NPC.cs: public class NPC { public string name; public int age; public void Say() { Debug.Log("Say:我是未被修改的"); } public static void Say() { Debug.Log("Static Say:我是未被修改的"); } public void Say2(int a) { Debug.Lo…