- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
stm32 NVIC中断管理实现(直接操作寄存器)? cortex-m3支持256个中断,其中包含了16个内核中断,240个外部中断。stm32只有84个中断,包括16个内核中断和68个可屏蔽中断(stm32f103上只有60个可屏蔽中断,f107上才有68个中断)?????中断是stm32很基础的一个功能,学会使用中断,才可以更好的使用其他的外设。理解stm32的中断,必须要先从stm32的中断优先级分组是怎么回事。要理解优先级分组,就要先理解什么是先占优先级和次占优先级。 ??? ??先占优先级的概念等同于51单片机中的中断。假设有两中断先后触发,已经在执行的中断的先占优先级如果没有后触发的中断的先占优先级高,就会处理先占优先级高的中断。也就是说又有较高的先占优先级的中断可以打断先占优先级较低的中断。这是实现中断嵌套的基础。?? ??次占优先级只在同一先占优先级的中断同时触发时起作用,先占优先级相同,则优先执行次占优先级较高的中断。次占优先级不会造成中断嵌套(但是可以在挂起等待时插队)。 如果中断的两个优先级都一致,则优先执行位于中断向量表中位置较高的中断。还需要注意的一点是:这里的中断优先级高是指谁更接近0级,0级优先级是最高的。?那么最低的优先级可以是多少?这就涉及了优先级分组的概念。 stm32 通过一个嵌套中断向量控制器(NVIC)来分配先占优先级和次占优先级的数量。cortex-m3 内核中拥有一个3位宽度的的PRIGROUP数据区,用来指示一个8位数据序列中的小数点的位置从而表示中断优先级的分组。?举个例子可以更好的理解:如果PRIGROUP 数据位000(即为0组),说明8位数据序列中小数位置在第1位的左边为xxxxxxx.y 用于表示中断优先级的分组的含义就是用7位的数据宽度来表示先占优先级的数量即为128, 用1位的数据宽度来表示次占优先级数量即为2。(上述是指cortex-m3内核的情况,而实际的stm32则只用到8位中的高四位)?所以cortex-m3中有2的三次方 即为8个优先级分组。但是stm32中只有5个优先级分组(0000~0100),表示方法略有不同。?一、NVIC寄存器组在MDK内,与NVIC相关的寄存器,MDK为其定义了如下的结构体:??typedef?struct??{?? ?vu32? ISER[2];? //2个32位中断使能寄存器,分别对应到60个可屏蔽中断???u32???RESERVED0[30];?(预留或者保留的意思)vu32? ICER[2];???//2个32位中断除能寄存器,分别对应到60个可屏蔽中断???u32???RSERVED1[30];????vu32??ISPR[2];? //2个32位中断挂起寄存器,分别对应到60个可屏蔽中断,可挂起正在执行的中断???u32???RESERVED2[30];??vu32? ICPR[2];???//2个32位中断解挂寄存器分别对应到60个可屏蔽中断,可解除被挂起的中断???u32???RESERVED3[30];vu32??IABR[2];??? //2个32位中断激活标志寄存器,可读取该寄存器判断当前执行的中断是u32?? RESERVED4[62]; 哪个,中断执行完硬件清零,只读??vu32???IPR[15];??//15个32位中断优先级分组寄存器,每个中断分配8个bit,对应到4*15=60个中断}?NVIC_TypeDef;?它们对应ARM手册中的名称为:ISER = Interrupt Set-Enable RegistersICER = Interrupt Clear-Enable RegistersISPR = Interrupt Set-Pending RegisterICPR = Interrupt Clear-Pending RegisterIABR = Interrupt Active Bit RegisterIPR = Interrupt Priority Registers每个寄存器有32位,以Interrupt Set-Enable Registers说明,ISER[0]对应中断源0~31,ISER[1]对应中断源32~63,STM32只有60个中断源,所以没有ISER[2:7](因为cortex-m3支持256个中断,即需要256个使能位),转为RESERVED(保留)。首先分析为什么定义。这是因为ISER的地址是从E000E100开始的,ICER是从E000E180开始的,依次类推;可见从0xE000E100到0xE000E180间隔128个8位,也就是32个32位的数据;这就是vu32 XXX[2]+u32 RESERVED0[30]总的位数。??1)??
您可能关注的文档
- 2013年度格上金融理财PE2月报.pdf
- 2013年度中国十大金融创新案例.doc
- 2013年度互联网金融理财行业调查报告.pdf
- 2014个人金融理财四次作业及答案.doc
- 2014年度二级金融理财规划师《理论知识》练习题.pdf
- 2014年度金融专业本科毕业生论文备选题目汇总.docx
- 2015级投资与金融理财专业人才培养方案.doc
- 2015年度中国居民金融理财意识调查报告.pdf
- 2016电大金融学多选.docx
- 2015年度中国互联网金融行业投资研究报告.pdf
- 金融产品2024年投资策略报告:积极适应市场风格,行为金融+机器学习新发现.pdf
- 交运物流2024年度投资策略:转型十字路,峰回路又转(2023120317).pdf
- 建材行业2024年投资策略报告:板块持续磨底,重点关注需求侧复苏.pdf
- 宏观2024年投资策略报告:复苏之路.pdf
- 光储氢2024年投资策略报告:复苏在春季,需求的非线性增长曙光初现.pdf
- 公用环保2024年投资策略报告:电改持续推进,火电盈利稳定性有望进一步提升.pdf
- 房地产2024年投资策略报告:聚焦三大工程,静待需求修复.pdf
- 保险2024年投资策略报告:资产负债匹配穿越利率周期.pdf
- 政策研究2024年宏观政策与经济形势展望:共识与分歧.pdf
- 有色金属行业2024年投资策略报告:新旧需求共振&工业原料受限,构筑有色大海星辰.pdf
最近下载
- 结题报告高中物理小课题.PPT
- NB∕T 32037-2017 光伏发电建设项目文件归档与档案整理规范.pdf VIP
- 2024《高考志愿填报咨询服务意愿的影响因素实证研究》16000字.docx
- 无线网络优化模考试题(附答案).docx
- 中图版高中地理必修第二册课后习题 第四章 国土开发与保护 第一节 京津冀协同发展的地理背景 (2).doc VIP
- 工厂消防安全设备检查记录表.docx VIP
- 海绵城市监理实施细则.doc VIP
- 人教版小学二年级数学下册期中试卷.doc VIP
- 巴黎奥运樊振东乒乓球故事介绍【优质公开课】精品PPT课件模板.pptx
- 丽声北极星分级绘本第一级上 A Day with Monster Toon课件 .pptx VIP
文档评论(0)