全局中断总开关位与各个中断源对应的寄存器使能位开启顺序

news/2024/9/28 19:21:31 标签: 嵌入式硬件, c语言

在微控制器中,中断总开关通常用来全局性地控制中断的使能和关闭。对于各个中断的位使能,则是用来单独控制每个中断源的使能状态。配置它们的先后关系通常遵循以下步骤:
1.全局中断禁能:首先,需要禁止中断总开关,这通常通过操作特定的寄存器来实现,比如在Cortex-M3内核中,可以通过写入 PRIMASK 寄存器来控制全局中断的使能与关闭 。
2.配置中断优先级分组:在STM32等微控制器中,通过 NVIC_PriorityGroupConfig() 函数设置中断优先级分组,这决定了抢占优先级和响应优先级的位数分配 。
3.配置各个中断源的优先级:接着,为每个中断源配置优先级,包括抢占优先级和响应优先级。这通常通过 NVIC_Init() 函数来实现,它允许你为特定中断源设置优先级并使能它 。
4.使能各个中断源、开启全局中断:针对每个需要响应的中断源,通过设置相应的位使能位来单独使能该中断。在STM32中,可以使用 NVIC_EnableIRQ() 函数来使能特定的中断通道 。配置、使能各个所需中断源后,开启全局中断使能。
5.关于编写中断服务函数:提前为每个使能的中断编写中断服务函数(ISR),并根据软硬件平台要求挂接中断。当中断发生时,微控制器会自动调用相应的ISR来处理中断。在中断服务函数的最后,通常需要清除中断标志位,以便微控制器可以响应后续的中断请求。
在实际编程中,具体的寄存器名称和配置函数可能会根据微控制器的型号和体系结构而有所不同,但基本的配置流程大致相同。
 

 

 


http://www.niftyadmin.cn/n/5681701.html

相关文章

.NET MAUI(.NET Multi-platform App UI)下拉选框控件

MAUI下拉选框控件详解: 在开发跨平台应用程序时,下拉选框(ComboBox)是一个极为常见且实用的控件,它允许用户从一组预定义的选项中选择一个。在.NET MAUI(.NET Multi-platform App UI)框架中&am…

【Threejs进阶教程-着色器篇】8. Shadertoy如何使用到Threejs-基础版

【Threejs进阶教程-着色器篇】8. Shadertoy如何使用到Threejs - 基础版 前七篇地址,建议按顺序学习致谢带我入门的[X01动力装甲]大佬本文适用范围怎么样在Shadertoy中画出正圆形shadertoy中的坐标系比例转换理解Shadertoy的fragCoord理解Shadertoy中的iResolution 转移Shaderto…

《二十一天》热度狂飙幕后真相原著小说好看还是剧好看

勇于突破,敢于尝试新类型,12集灾难求生/悬疑刑侦网剧《二十一天》,自9月26日爱奇艺迷雾剧场开播以来热度持续攀升。灾难开局、人性探底、悬疑推理,地上地下双线交叉进行的剧情渐入佳境,但网络评论褒贬不一,…

oracle 如何判断当前时间在27号到当月月底

在Oracle中&#xff0c;您可以使用TRUNC和LAST_DAY函数来判断当前时间是否在27号到当月月底之间。以下是一个SQL示例&#xff1a; SELECT CASE WHEN TRUNC(SYSDATE) > TRUNC(SYSDATE, DD) 26 AND TRUNC(SYSDATE) < LAST_DAY(SYSDATE) THEN 当前时间在27号到当月月底之间…

图灵完备-成对的麻烦

steam上有一个叫图灵完备&#xff08;turing complete&#xff09;的游戏&#xff0c;其中一个关卡比较有意思&#xff0c;故此记录&#xff0c;也就是“成对的麻烦”。 题目大意是匹配袜子的问题&#xff0c;有4个输入&#xff0c;只要其中两个位true&#xff0c;最终结果就返…

【系统规划与管理师】【案例分析】【考点】【问题篇】第10章 团队建设与管理

//自己整理的&#xff0c;仅具参考价值&#xff0c;一起加油吧~相信自己 尽力而为 【答案篇】 【系统规划与管理师】【案例分析】【考点】【答案篇】第10章 团队建设与管理 【问题篇】 第10章 团队建设与管理 1、IT服务团队应具有哪些特征&#xff1f;2、该服务团队处在IT…

VulnHub-SickOs1.1靶机笔记

SickOs1.1靶机笔记 概述 Vulnhub的靶机sickos1.1 主要练习从互联网上搜取信息的能力&#xff0c;还考察了对代理使用&#xff0c;目录爆破的能力&#xff0c;很不错的靶机 靶机地址&#xff1a; 链接: https://pan.baidu.com/s/1JOTvKbfT-IpcgypcxaCEyQ?pwdytad 提取码: yt…

软件测试学习笔记丨curl命令发送请求

本文转自测试人社区&#xff0c;原文链接&#xff1a;https://ceshiren.com/t/topic/32332 一、简介 cURL是一个通过URL传输数据的&#xff0c;功能强大的命令行工具。cURL可以与Chrome Devtool工具配合使用&#xff0c;把浏览器发送的真实请求还原出来&#xff0c;附带认证信…