当前位置: 首页 > news >正文

关于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

相关文章:

关于stm32的软件复位

使用软件复位的目的&#xff1a; 软件复位并不会擦除存储器中的数据&#xff0c;它只是将处理器恢复到复位状态&#xff0c;即中断使能位被清除&#xff0c;系统寄存器被重置&#xff0c;但RAM和Flash存储器中的数据保持不变。 STM32软件复位(基于库文件V3.5) &#xff0c;对…...

规范系统运维:系统性能监控与优化的重要性与实践

在当今这个高度信息化的时代&#xff0c;企业的IT系统运维工作显得尤为关键。其中&#xff0c;系统性能监控和优化是运维工作中不可或缺的一环。本文旨在探讨规范系统运维中系统性能监控与优化的重要性&#xff0c;并分享一些实践经验和策略。 一、系统性能监控与优化的重要性…...

用python编撰一个电脑清理程序

自制一个电脑清理程序&#xff0c;有啥用呢&#xff1f;在电脑不装有清理软件的时候&#xff0c;可以解决自己电脑内存不足的情况。 1、设想需要删除指定文件夹中的临时文件和缓存文件。以下是代码。 import os import shutil def clean_folder(folder_path): for root,…...

2024年【天津市安全员C证】免费试题及天津市安全员C证试题及解析

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 天津市安全员C证免费试题是安全生产模拟考试一点通生成的&#xff0c;天津市安全员C证证模拟考试题库是根据天津市安全员C证最新版教材汇编出天津市安全员C证仿真模拟考试。2024年【天津市安全员C证】免费试题及天津市…...

【Python数据挖掘实战案例】机器学习LightGBM算法原理、特点、应用---基于鸢尾花iris数据集分类实战

一、引言 1、简要介绍数据挖掘的重要性和应用 在数字化时代&#xff0c;数据已经成为企业和社会决策的重要依据。数据挖掘作为一门交叉学科&#xff0c;结合了统计学、机器学习、数据库技术和可视化等多个领域的知识&#xff0c;旨在从海量数据中提取有价值的信息&#xff0c…...

使用LabVIEW进行大数据数组操作的优化方法

针对大数据量数组操作&#xff0c;传统的内存处理方法可能导致内存不足。通过LabVIEW的图像批处理技术&#xff0c;可以有效地进行大数据数组操作&#xff0c;包括分块处理、并行处理和内存优化等。这种方法能显著提高处理效率和系统稳定性。 图像批处理的优势 内存优化&#…...

【Linux】(五)—— SSH远程登录和XShell使用

SSH Linux中的SSH&#xff08;Secure Shell&#xff09;是一个强大的网络协议&#xff0c;用于在不安全的网络环境中提供安全的远程登录和资料拷贝等其他网络服务。以下是有关Linux中SSH的关键点和操作指南&#xff1a; SSH的基础概念 安全性&#xff1a;SSH通过对所有传输的…...

前端怎么实现跨域请求?

前端实现跨域请求&#xff08;Cross-Origin Resource Sharing, CORS&#xff09;通常涉及到后端服务器的配置&#xff0c;因为浏览器的同源策略&#xff08;Same-Origin Policy&#xff09;会阻止前端代码直接发起跨域请求。然而&#xff0c;有几种方法可以在前端和后端的配合下…...

sqlmap直接嗦 dnslog注入 sqllibs第8关

dnslog注入是解决注入的时候没有回显的情况&#xff0c;通过dns外带来进行得到我们想要的数据。 我们是用了dns解析的时候会留下记录&#xff0c;这时候就可以看见我们想要的内容。 这个时候我们还要了解unc路径以及一个函数load_file()以及concat来进行注入。看看我的笔记 unc…...

数据结构笔记 3 串 数组 广义表

以下了解即可&#xff0c;暂时没发现有什么考点 参考&#xff1a; 【数据结构】——多维数组和广义表_数据结构loc-CSDN博客 相对应的题目&#xff1a; 他这个数组不是从0开始的&#xff0c;是从1开始的&#xff0c;所以为了配合公式要减1 下面这道题又不一样&#xff0c;它是…...

SpringCloud微服务GateWay网关使用与配置

一、概念 1、什么是GateWay网关 在微服务架构中&#xff0c;Gateway&#xff08;网关&#xff09;是一个重要的组件&#xff0c;负责处理外部请求并将它们路由到适当的微服务。以下是Gateway在微服务中的一些主要功能&#xff1a; 路由&#xff1a; Gateway负责将来自客户端的…...

win7补丁下载

目的 一般来说&#xff0c;安装上windows系统就带着补丁了&#xff0c;但有时&#xff0c;安装的是原始版的操作系统是不带补丁的&#xff0c;一般直接更新就可以了&#xff0c;但有时&#xff0c;电脑不能联网&#xff0c;只能通过安装包进行升级&#xff0c;所以下面介绍如何…...

在Cisco Packet Tracer上配置NAT

目录 前言一、搭建网络拓扑1.1 配置PC机1.2 配置客户路由器1.3 配置ISP路由器 二、配置NAT2.1 在客户路由器中配置NAT2.2 测试是否配置成功 总结 前言 本篇文章是在了解NAT的原理基础上&#xff0c;通过使用Cisco Packet Tracer 网络模拟器实现模拟对NAT的配置&#xff0c;以加…...

Web前端工程师的前景:挑战与机遇并存

Web前端工程师的前景&#xff1a;挑战与机遇并存 随着互联网的飞速发展和数字化转型的深入推进&#xff0c;Web前端工程师的前景日益广阔且充满挑战。作为互联网技术的核心力量之一&#xff0c;前端工程师的角色越来越重要&#xff0c;但同时也面临着技术更新迅速、市场需求多…...

MySQL—多表查询—联合查询

一、引言 之前学习了连接查询。现在学习联合查询。 union&#xff1a;联合、联盟 对于union查询&#xff0c;就是把多次查询的结果合并起来&#xff0c;形成一个新的查询结果集 涉及到两个关键字&#xff1a;union 和 union all 注意&#xff1a; union 会把上面两个SQL查询…...

2024 Jiangsu Collegiate Programming Contest E. Divide 题解 主席树

Divide 题目描述 Given an integer sequence a 1 , a 2 , … , a n a_1,a_2,\ldots,a_n a1​,a2​,…,an​ of length n n n. For an interval a l , … , a r a_l,\ldots,a_r al​,…,ar​ in this sequence, a Reduce operation divides the maximum value of the inter…...

C# WPF入门学习主线篇(十五)—— DockPanel布局容器

C# WPF入门学习主线篇&#xff08;十五&#xff09;—— DockPanel布局容器 欢迎来到C# WPF入门学习系列的第十五篇。在前几篇文章中&#xff0c;我们探讨了 Canvas、StackPanel 和 WrapPanel 布局容器及其使用方法。本篇博客将介绍另一种强大且常用的布局容器——DockPanel。…...

基于SVPWM矢量控制的无速度传感器电机控制系统simulink建模与仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 5.完整工程文件 1.课题概述 基于SVPWM矢量控制的无速度传感器电机控制系统simulink建模与仿真&#xff0c;包括电机&#xff0c;SVPWM模块&#xff0c;矢量控制器模块等。 2.系统仿真结果 3.核心程序与模…...

Linux操作系统:Zookeeper在虚拟环境下的安装与部署

将 Zookeeper 安装到指定目录 // 将zookeeper解压到安装目录 $ tar –zxvf zookeeper-3.4.10.tar.gz –C /usr/local $ mv /usr/local/zookeeper-3.4.10.tar.gz /usr/local/zookeeper 设置 zookeeper 配置文件 // 创建 data 数据目录 $ mkdir /usr/local/zookeeper/data // …...

决策树Decision Tree

目录 一、介绍发展优点缺点基本原理 二、熵1、熵2、条件熵3、信息增益4、信息增益率 三、基尼系数四、ID3算法1、建树过程2、优点3、缺点 五、C4.51、二分法处理连续变量1、流程&#xff1a;2、示例 2、缺点 六、CART1、连续数据处理2、离散数据处理3、CART回归原理1、均方误差…...

1奇函数偶函数

文章目录 自变量有理化奇偶性周期性初等函数 自变量 自变量是x&#xff0c;这个还挺奇怪&#xff0c;记住就好 y f ( e x 1 ) yf(e^x1) yf(ex1) 里面 e x e^x ex 只算中间变量&#xff0c;自变量是x 做这些题&#xff0c;想到了以前高中的时候做数学题&#xff0c;不够扎实…...

什么情况下需要配戴助听器

以下几种情况需要考虑配戴助听器&#xff1a; 1、听力无波动3个月以上的感音神经性听力障碍。如:先天性听力障碍、老年性听力障碍、噪声性听力障碍、突聋的稳定期等&#xff0c;均可选配合适的助听器。 2、年龄方面。使用助听器没有严格的年龄限制&#xff0c;从出生数周的婴…...

Java 基础面试300题 (231-260)

Java 基础面试300题 &#xff08;231-260&#xff09; 231 String::toUpperCase是什么类型的方法引用&#xff1f; String::toUpperCase是任意方法引用的示例。它指的是String 类的toUpperCase方法&#xff0c;但不是指任何特定对象。 通常在遍历集合或流时使用。例如&#x…...

Hadoop3:MapReduce源码解读之Map阶段的Job任务提交流程(1)

3、Job工作机制源码解读 用之前wordcount案例进行源码阅读&#xff0c;debug断点打在Job任务提交时 提交任务前&#xff0c;建立客户单连接 如下图&#xff0c;可以看出&#xff0c;只有两个客户端提供者&#xff0c;一个是YarnClient&#xff0c;一个是LocalClient。 显然&a…...

Linux环境---在线安装MYSQL数据库

Linux环境—在线安装MYSQL数据库 一、使用步骤 1.安装环境 Mysql 驱动 8.0 需要 jdk1.8 才行。 JDK版本&#xff1a;1.8 参考文档 MYSQL版本&#xff1a;8.0.2 下载链接: https://pan.baidu.com/s/1MwXIilSL6EY3OuS7WtpySA?pwdg263 操作系统&#xff1a;CentOS 1.1 建立存…...

git本地配置及IDEA下Git合并部分文件

目录 1、IDEA 下 Git 合并部分文件 2、分支合并忽略特定文件步骤 3、git本地配置 1、IDEA 下 Git 合并部分文件 1.1Git 下存在两个分支&#xff0c;foo 和 bar 分支&#xff0c;想要把 bar 分支上的部分文件合并到 foo 分支: 首先切换到 foo 分支&#xff0c;点击右下角的 …...

安徽京准 NTP时钟同步服务器具体配置方法是什么?

安徽京准 NTP时钟同步服务器具体配置方法是什么&#xff1f; 安徽京准 NTP时钟同步服务器具体配置方法是什么&#xff1f; 可以使用特权终结点 (PEP) 来更新 Azure Stack Hub 中的时间服务器。 使用可解析为两个或更多个 NTP&#xff08;网络时间协议&#xff09;服务器 IP 地…...

微信小程序 画布canvas

属性说明 属性类型默认值必填说明最低版本typestring否指定 canvas 类型&#xff0c;支持 2d (2.9.0) 和 webgl (2.7.0)2.7.0canvas-idstring否canvas 组件的唯一标识符&#xff0c;若指定了 type 则无需再指定该属性1.0.0disable-scrollbooleanfalse否当在 canvas 中移动时且…...

leetcode-04-[24]两两交换链表中的节点[19]删除链表的倒数第N个节点[160]相交链表[142]环形链表II

一、[24]两两交换链表中的节点 重点&#xff1a;暂存节点 class Solution {public ListNode swapPairs(ListNode head) {ListNode dummyHeadnew ListNode(-1);dummyHead.nexthead;ListNode predummyHead;//重点&#xff1a;存节点while(pre.next!null&&pre.next.next…...

深入探讨 Java 18 的主要新特性,分析其设计理念和实际应用

Java 18 作为 Java 的最新版本,引入了一系列的新特性和改进,这些变化不仅提升了语言的性能和安全性,也为开发者提供了更多的工具和选项,简化了开发过程,提高了代码的可读性和维护性。本文将深入探讨 Java 18 的主要新特性,分析其设计理念和实际应用,帮助读者理解这些新特…...

园区网互联及网站建设/怎么推广自己的微信号

今天我们来讨论一下止回阀安装位置。那么止回阀的安装位置如何确定呢&#xff1f;泵前安装与泵后安装止回阀有何区别&#xff0c;泵前安装适用于哪些地方&#xff1f;止回阀通常要配合其他阀门一起使用&#xff0c;那么跟其他阀门配合使用时&#xff0c;止回阀要安装在哪里呢&a…...

北碚网站建设哪家好/外链代发软件

2015-09-09 15:30:24近来&#xff0c;有些win10系统反映自己的电脑在自动更新驱动程序之后&#xff0c;在桌面上点击右键时&#xff0c;发现菜单栏里多出了NVIDIA面板或者AIT催化剂等选项&#xff0c;看着很不舒服。那么&#xff0c;win10系统该如何...2017-03-28 13:48:10电脑…...

网站域名登录/百度网首页官网

Form.errors 访问errors属性以获取错误消息的字典&#xff1a; >>> f.errors >{sender&#xff1a;[输入有效的电子邮件地址。]&#xff0c;subject&#xff1a;[此字段为必填项.]。 在这个字典中&#xff0c;键是字段名称&#xff0c;值是表示错误消息的Unicod…...

怎么做网站滑动图片部分h5/免费做网站网站的软件

https://zhidao.baidu.com/question/1494951482361210539.html转载于:https://www.cnblogs.com/SEC-fsq/p/7602426.html...

教育培训推广网站模板/福州百度关键词优化

...

在微信中做网站/做百度推广多少钱

1.概念&#xff1a; 一个完整的JavaScript实现应该由以下三个部分构成&#xff1a;ECMAScript、DOM、BOM. ECMAScript: ES规定了JS的变成语法和基础核心知识&#xff0c;是所有浏览器厂商都遵守的JS语法工业标准。 DOM: 文档对象模型&#xff08;Document Object Model&#xf…...