关于stm32的软件复位

使用软件复位的目的:

软件复位并不会擦除存储器中的数据,它只是将处理器恢复到复位状态,即中断使能位被清除,系统寄存器被重置,但RAM和Flash存储器中的数据保持不变。

STM32软件复位(基于库文件V3.5) ,对于STM32来说软件复位有多种方式:    

1)采用官方自带的软件库  
    在官方软件库的 core_cm3.h 文件中 直接提供了 系统复位的函数    

static __INLINE void NVIC_SystemReset(void) { 
SCB->AIRCR  = (
(0x5FA << SCB_AIRCR_VECTKEY_Pos)    |   (SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk)   |  SCB_AIRCR_SYSRESETREQ_Msk);                   /* Keep priority group unchanged */ __DSB();                                                                                       /* Ensure completion of memory access */               while(1);                                                                                        /* wait until reset */} 

 可是不是直接调用这个函数就OK了?    在Cortex-M3权威指南中有这么一句话:     
这里有一个要注意的问题:从SYSRESETREQ 被置为有效,到复位发生器运行复位命令,  往往会有一个延时。在此延时期间,处理器仍然能够响应中断请求。但我们的本意往往是要  让此次运行到此为止,不要再做不论什么其他事情了。所以,最好在发出复位请求前,先把  FAULTMASK 置位。  
  所以最好在将FAULTMASK 置位才万无一失。相同的官方 core_cm3.h 文件中也直接提供了该函数  

  static __INLINE void __set_FAULTMASK(uint32_t faultMask) { register uint32_t __regFaultMask       __ASM("faultmask");   __regFaultMask = (faultMask & 1);} 

 把上面这两个函数写在一起就能够实现软件复位了

void SoftReset(void) { 
__set_FAULTMASK(1);      // 关闭全部中端 NVIC_SystemReset();// 复位 } 

参考

https://www.cnblogs.com/hrhguanli/p/3815374.htmlicon-default.png?t=N7T8https://www.cnblogs.com/hrhguanli/p/3815374.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/23320.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

终于搞懂了!原来vue3中template使用ref无需.value是因为这个

前言 众所周知&#xff0c;vue3的template中使用ref变量无需使用.value。还可以在事件处理器中进行赋值操作时&#xff0c;无需使用.value就可以直接修改ref变量的值&#xff0c;比如&#xff1a;<button click"msg Hello Vue3">change msg</button>。…

买视觉检测设备需要多少钱?

随着工业自动化的发展&#xff0c;其应用范围逐步提高&#xff0c;其中母子图像传感器、CMOS和CCD摄像机、DSP、ARM嵌入式技术、图像处理和模式识别技术的快速发展&#xff0c;有效地推动了视觉检测设备的发展。在机器视觉领域中&#xff0c;常见的就是视觉检测、视觉识别、视觉…

Django里choices字段使用中文使用

如果想要将下面的表格里的内容数字换成对应的内容&#xff1a; 需要更改成这样&#xff1a; 下面是步骤&#xff1a; 在 python 里的 models.py 文件里&#xff0c;创建数据表的时候&#xff0c;用到了 choices class Example(models.Model):name models.CharField(verbose…

领菲linfeeLNF96E多功能电力仪表智能数码液晶显示三相电压电流表

品牌 LINFEE 型号 LNF96E 货号 LNF96E 产地 中国大陆 省份 江苏省 地市 无锡市 装修及施工内容 安装工程 电源电路 交流电表 电表类型 多功能电度表 颜色分类 LNF96E-C,LNF96E-CM,LNF96E-CJ,LNF96E-CK,LNF96E-CJK,LNF96E-CMJK 多功能电力仪表,LNF96E三相多…

图像的IO操作

代码&#xff1a; import cv2 as cvimport matplotlib.pyplot as plt​#读取图像img cv.imread("../data/images/zidane.jpg")​#显示图像#2.1 OpenCVcv.imshow("dili",img)cv.waitKey(0)cv.destroyAllWindows()​#2.2 matplotlibplt.imshow(img[:,:,::-…

优化你的WordPress网站:内链建设与Link Whisper Pro插件的利用

文章目录 内链的重要性WordPress SEO插件&#xff1a;Link Whisper Pro主要功能使用指南下载与安装 结语 在数字营销和网站管理领域&#xff0c;SEO内部优化是提升网站排名、增加流量和提高用户参与度的核心策略。在众多SEO技巧中&#xff0c;内链建设是构建良好网站结构和提升…

2024最新华为OD机试-C/D卷 - 在线OJ使用说明

文章目录 &#x1fa90;在线 OJ 入口&#x1f3a7;申请OD使用权限&#x1f353;在线 OJ 的使用说明OJ主界面专题系列语言支持评测结果 &#x1fa90;在线 OJ 入口 &#x1f517; 2024最新华为OD机试 - 在线OJ入 &#x1f3a7;申请OD使用权限 本专栏配套 OJ 的为了配合考友更高…

如何提升WAS存储设备管理的安全性及数据访问的流畅性?

随着企业数据飞速增长&#xff0c;越来越多的核心数据通过专业存储设备存储&#xff0c;客户对存储设备的安全性、效率和成本格外关注。其中WAS存储设备管理通常指的是对Windows Azure Storage&#xff08;WAS&#xff09;的存储设备进行管理。WAS存储设备管理存在一些弊端和不…

材料科学领域科技查新点提炼方法!---附案例

材料科学是研究材料的组织结构、性质、生产流程、使用效能及它们之间的相互关系的科学&#xff0c;集物理学、化学、冶金学等于一体。随着科技的发展&#xff0c;纳米技术和生物技术也广泛应用到该领域中。从材质上可以分为金属材料、无机非金属材料、有机高分子材料和复合材料…

阿奇科技 简单java-swing计算器源码(可用于课设等)

此系统用的技术有java swing&#xff01; 实现的功能&#xff1a; 加减乘除&#xff08;可以进行小数运算&#xff09; 清空数据 最小化 小巧方便&#xff0c;功能齐全&#xff01; 页面截图: 源码地址&#xff1a;点击这里下载源码 获取全套代码&#xff0c;或咨询更多代码…

vue 如何制作一个跟随窗口大小变化而变化的组件

vue 如何制作一个跟随窗口大小变化而变化的组件 像下图中展示的那些统计数件就是跟随窗口变化而变化的&#xff0c;而且是几乎等比缩放的。 实现原理 只简略说一下原理。 pinia 中记录一个窗口变化的高度值给要变化的组件添加一个高度值组件内部所有关于长度距离的值都通过这…

【启明智显彩屏应用】Model3A 7寸触摸屏在真空包装机上的应用解决方案

一、项目背景与需求 随着工业自动化水平的提升&#xff0c;对真空包装机的操作界面和控制精度要求也越来越高。为满足这一需求&#xff0c;我们提出了基于Model3A工业级HMI&#xff08;人机界面&#xff09;芯片方案的7寸触摸屏解决方案&#xff0c;旨在提高真空包装机的操作便…

联邦学习在non-iid数据集上的划分和训练——从零开始实现

虽然网上已经有了很多关于Dirichlet分布进行数据划分的原理和方法介绍&#xff0c;但是整个完整的联邦学习过程还是少有人分享。今天就从零开始实现 加载FashionMNIST数据集 import torch from torchvision import datasets, transforms# 定义数据转换 transform transforms…

Nvidia/算能 +FPGA+AI大算力边缘计算盒子:医疗健康智能服务

北京天星医疗股份有限公司(简称“天星医疗”)作为国产运动医学的领导者&#xff0c;致力于提供运动医学的整体临床解决方案&#xff0c;公司坐落于北京经济技术开发区。应用于肩关节、膝关节、足/踝关节、髋关节、肘关节、手/腕关节的运动医学设备、植入物和手术器械共计300多个…

Python Flask 入门开发

Python基础学习&#xff1a; Pyhton 语法基础Python 变量Python控制流Python 函数与类Python Exception处理Python 文件操作Python 日期与时间Python Socket的使用Python 模块Python 魔法方法与属性 Flask基础学习&#xff1a; Python中如何选择Web开发框架&#xff1f;Pyth…

个人笔记-python生成gif

使用文件的修改时间戳进行排序 import os import re import imageio# 设置图片所在的文件夹路径 folder_path /home/czy/ACode/AMAW_20240219/9.3.x(Discrete_time_marching&#xff09;/9.3.17.11.1(Disc_concessive_CH_ZJ)/current_figures # 文件夹路径&#xff1b;linux…

电商核心技术系列58:电商平台的智能数据分析与业务洞察

相关系列文章 电商技术揭秘相关系列文章合集&#xff08;1&#xff09; 电商技术揭秘相关系列文章合集&#xff08;2&#xff09; 电商技术揭秘相关系列文章合集&#xff08;3&#xff09; 电商核心技术揭秘56&#xff1a;客户关系管理与忠诚度提升 电商核心技术揭秘57:数…

【Python系列】Python 方法变量参数详解

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

白酒:茅台镇白酒的醇厚口感与细腻层次

茅台镇&#xff0c;中国白酒的璀璨明珠&#xff0c;以其与众不同的自然环境和杰出的酿造技艺&#xff0c;孕育出了无数上好白酒。云仓酒庄豪迈白酒作为茅台镇的杰出品牌&#xff0c;以其醇厚口感和细腻层次&#xff0c;赢得了无数消费者的喜爱。 茅台镇地处赤水河畔&#xff0c…

训练集和测试集的分布一致性分析

规律一致性分析的实际作用   在实际建模过程中&#xff0c;规律一致性分析是非常重要但又经常容易被忽视的一个环节。通过规律一致性分析&#xff0c;我们可以得出非常多的可用于后续指导后续建模的关键性意见。通常我们可以根据规律一致性分析得出以下基本结论&#xff1a; …