FreeRtos里的几个中断屏蔽

1、primask 寄存器

PRIMASK用于禁止除NMI和HardFalut外的所有异常和中断,使用方法:

cpsid i	; //设置primask (禁止中断)
cpsie i ;  //清除primask  (使能中断)

也可以

movs r0,#1
msr primask r0;   //将 1写入primask禁止所有中断movs r0,#0
mar primask r0  //将0写入primask使能中断

2、faultmask寄存器

faultmask寄存器连HardFault都可以屏蔽掉,使用方法和primask类似:

cpsid f	; //设置faultmask (禁止中断)
cpsie f ;  //清除faultmask  (使能中断)

或者:

movs r0,#1
msr faultmask r0;   //将 1写入fault mask禁止所有中断movs r0,#0
mar faultmask r0  //将0写入faultmask使能中断

3、basepri寄存器

 basepri寄存器的做法更细腻,可以屏蔽优先级低于某个阈值的中断(中断优先级号越低代表的优先级越高),例如:要屏蔽优先级不高于0x60的中断:

mov r0,#0x60
msr basepri, r0

取消对中断的屏蔽,可以直接将basepri清零

mov r0,#0
mar basepri,r0

FreeRtos的开关中断就是通过basepri寄存器实现的

例如: portDISABLE_INTERRUPTS()

 在这个中断里面打了个断点,debug了一下,当前系统中configMAX_SYSCALL_INTERRUPT_PRIORITY是0x10

然后portENABLE_INTERRUPTS()开中断

debug了一下

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

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

相关文章

C# WPF上位机开发(网络程序界面开发)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 之前我们讨论过,设备之间通讯的方式很多。但是,不知道大家有没有注意,前面谈到的这些通讯方式都需要上位机电脑…

华为云创新动能涌现,浒墅关开启先进制造新纪元

编辑:阿冒 设计:沐由 穿境而过的京杭大运河,孕育了苏州浒墅关深厚的历史文化底蕴。千年延续不断的繁华,滋养了一代又一代奋进的浒墅关人。今天,一座国家级经开区挺立在这里,散发出创新创业的蓬勃活力。 苏州…

WordPress如何搭建多站点

这边之前有讲到过wordpress站中站(栏目站)建站教程,同样的也有讲到过WordPress开启多站点配置,两种方法都是用来搭建子站点的,而开启多站点的方式不同于普通搭建站中站,多站点配置开启,是可以实…

STM32F407-14.3.18-01连接霍尔传感器

连接霍尔传感器 可通过用于生成电机驱动 PWM 信号的高级控制定时器(TIM1 或 TIM8)以及图 114 中称为 “接口定时器”的另一个定时器 TIMx(TIM2、TIM3、TIM4 或 TIM5),实现与霍尔传感器的连接。3 个定时器输入引脚&…

【C语言】实战项目——通讯录

引言 学会创建一个通讯录,对过往知识进行加深和巩固。 文章很长,要耐心学完哦! ✨ 猪巴戒:个人主页✨ 所属专栏:《C语言进阶》 🎈跟着猪巴戒,一起学习C语言🎈 目录 引言 实战 建…

C语言——完数难题(编程题目)

归纳编程学习的感悟, 记录奋斗路上的点滴, 希望能帮到一样刻苦的你! 如有不足欢迎指正! 共同学习交流! 🌎欢迎各位→点赞 👍 收藏⭐ 留言​📝 生命如同寓言,其价值不在于…

【数据分享】2019-2023年我国区县逐年二手房房价数据(Excel/Shp格式)

房价是一个区域发展程度的重要体现,一个区域的房价越高通常代表这个区域越发达,对于人口的吸引力越大!因此,房价数据是我们在各项城市研究中都非常常用的数据!之前我们分享了2019—2023年我国区县逐月的二手房房价数据…

破译模式:模式识别在计算机视觉中的作用

一、介绍 在当代数字领域,计算机视觉中的模式识别是关键的基石,推动着众多技术进步和应用。本文探讨了计算机视觉中模式识别的本质、方法、应用、挑战和未来趋势。通过使机器能够识别和解释视觉数据中的模式,模式识别不仅推动了计算机视觉领域…

小程序商城活动页面怎么生成二维码

背景 小程序商城某些页面需要做成活动推广页,或需要某一个页面做成二维码进行推广。比如某些非公开的商品做成一个活动,发送指定部分用户,这个活动页面可以做成二维码。 前提 小程序已经上线 步骤 登录微信小程序官网,选择工具…

【i.MX6ULL】使用buildroot构建根文件系统

文章目录 前言1、下载源码2、构建根文件系统1. 配置buildroot2. 编译buildroot3. buildroot根文件系统测试 3、buildroot第三方软件和库的配置1. 使能 alsa-lib2. 使能 alsa-utils 4、 buildroot下的busybox配置1. busybox配置2. 使能常用命令 前言 本篇文章时参考的正点原子的…

嵌入式开发中的总线与时钟

总线 AHB总线 AHB的全称是"Advanced High-performance Bus",中文翻译就是"高级高性能总线"。这是一种在计算机系统中用于连接不同硬件组件的总线架构,它可以帮助这些组件之间高效地传输数据和信息。这个总线架构通常用于处理速度较快且对性能要求较高的…

设计模式详解---单例模式

1. 设计模式详解 单例模式是一种创建对象的设计模式,它确保一个类只有一个实例,并提供全局访问点以获取该实例。 在单例模式中,类负责创建自己的唯一实例,并确保任何其他对象只能访问该实例。这对于需要共享状态或资源的情况非常有…

踩坑记录:java连接ssh的问题

目录 概述一、第一个问题解决 二、第二个问题分析解决 三、第三个问题分析解决 第四个问题解决 概述 手里有个CS架构的老系统,服务端要用SSH的方式传文件。没想到写了两天!遇到一堆问题,于是记录下。(老系统真恶心啊!…

浮点数float类型不能用“==” 否知if语句不起作用

浮点数float类型不能用“” 否知if语句不起作用 简介演练 简介 在许多编程语言中,包括Python,浮点数类型(float)的比较是有问题的。浮点数是近似表示的,因此在比较两个浮点数是否相等时可能会遇到精度问题。 比如&am…

Linux(23):Linux 核心编译与管理

编译前的任务:认识核心与取得核心原始码 Linux 其实指的是核心。这个【核心(kernel)】是整个操作系统的最底层,他负责了整个硬件的驱动,以及提供各种系统所需的核心功能,包括防火墙机制、是否支持 LVM 或 Quota 等文件系统等等&a…

CMA、CNAS软件检测公司分享:压力测试应关注的指标和面临的问题

软件压力测试是容易被传统企业忽视的测试点,用户人数一旦超过预期,极易造成软件产品卡顿、崩溃的情况,不利于用户正常使用,严重影响企业公信力和盈利水平。今天卓码软件测评小编来聊聊压力测试过程中应该关注的指标和会面临的问题…

PLC、RS485、变频器通讯接线图详解

plc与变频器两者是一种包含与被包含的关系,PLC与变频器都可以完成一些特定的指令,用来控制电机马达,PLC是一种程序输入执行硬件,变频器则是其中之一。 但是PLC的涵盖范围又比变频器大,还可以用来控制更多的东西&#x…

【ProcessOn】流程图咏道图Axure自定义元件使用----含流程图案例

目录 一,ProcessOn 1.1 ProcessOn是什么 1.2 ProcessOn应用场景 1.3 流程图 1.4 泳道图简介 1.5 Process网址与界面简介 二,流程图案例 2.1 门诊流程图 2.2 住院流程图 2.3 药房药库流程图 2.4 会议OA流程图 三,Axure自定义元件 …

WEB渗透—PHP反序列化(三)

Web渗透—PHP反序列化 课程学习分享(课程非本人制作,仅提供学习分享) 靶场下载地址:GitHub - mcc0624/php_ser_Class: php反序列化靶场课程,基于课程制作的靶场 课程地址:PHP反序列化漏洞学习_哔哩…

嵌入式培训-数据结构-day23-线性表

线性表 线性表是包含若干数据元素的一个线性序列 记为: L(a0, ...... ai-1, ai, ai1 ...... an-1) L为表名,ai (0≤i≤n-1)为数据元素; n为表长,n>0 时,线性表L为非空表,否则为空表。 线性表L可用二元组形式描述…