- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第22节中断系统
因为至少一位子优先级,所以最多128级抢占优先级,可支持127级嵌套 例:PROGROUP=1,表示6位抢占式优先级,共64级,2位响应优先级,共4级。 因此,理论上可支持一个中断,63级的嵌套 中断优先级寄存器 使用中断优先寄存器将0 到255 个优先级分别分配给各个中断。0 代表最高优先级,255则代表最低优先级 包括:系统异常,外部中断 系统异常 外部中断 对240个外部中断,每个需要8位,所以,4个中断组成一个32位寄存器 因此,CM3最多共需60个32位寄存器 例:设定1号中断,设定抢占优先级为0,响应优先级为1. 设定2号中断,抢占优先级为1,响应优先级为0; 设定3号中断,抢占优先级为1,响应为1; 假如:优先级分组采用PROGROUP=1 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 1 PRI_1寄存器 标定抢占式优先级 响应优先级 则,嵌套关系为? 注意: 原则上,CM3 支持3 个固定的高优先级和多达256 级的可编程优先级,并且支持128级抢占 实际上,绝大多数CM3 芯片都会精简设计,以致实际上支持的优先级数会大大减小,如8级,16级,32级 原因?不需要大数量的寄存器,降低成本,以针对特定需求和对象 240级,60个32位寄存器,而8级只需2个32优先级寄存器,且优先级寄存器中,也只需其中3位 CM3允许,但有条件 1、最少有三位来表达优先级,即至少8级中断 2、表达优先级的位是优先级寄存器的高为对齐 7 6 5 4 3 2 1 0 用于表达优先级 无用 高对齐的目的:便于程序的移植。如从四位优先级移植到3位优先级系统,优先级不受影响 注意 优先级对应的数值不是0,1,2的顺序 例如,3位系统 优先级分别为: 0x0,0x20,0x40,0x60,0x80,0xa0,0xc0,0xe0 小结: 优先级分组寄存器 优先级寄存器 抢占优先级,响应优先级(子) 不同芯片,由于中断通道数不同,优先级寄存器个数不同,表达优先级位数不同,但都高对齐 对于stm32,隶属CM3子集 Cortex M3包括16个系统异常,240个外部中断 STM32包括16 个Cortex-M3 系统异常,43 个可编程中断通道,共59个中断源 绝大多数CM3 芯片都会精简设计,以致实际上支持的优先级数会大大减小,如8级,16级,32级 问题:stm32并不支持256级中断,只支持43+16=59级中断,不需用8位,即可表达 首先,16个系统异常对应的4个寄存器不变 其次,外部中断通道为43,需要10.75个32位寄存器,即11个32位寄存器 除3个高级系统异常,其他异常按优先级分为16级,因此,只需高四位来表达优先级 采用何种分组方法,则由分组寄存器来决定 2、 设置中断优先级: NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1); //设置中断优先级 NVIC_PriorityGroup_0 = 选择第0组NVIC_PriorityGroup_1 = 选择第1组NVIC_PriorityGroup_2 = 选择第2组NVIC_PriorityGroup_3 = 选择第3组NVIC_PriorityGroup_4 = 选择第4组 #define NVIC_PriorityGroup_0 ((u32)0x700) /* 0 bits for pre-emption priority 4 bits for subpriority */ #define NVIC_PriorityGroup_1 ((u32)0x600) /* 1 bits for pre-emption priority 3 bits for subpriority */ #define NVIC_PriorityGroup_2 ((u32)0x500) /* 2 bits for pre-emption priority 2 bits for subpriority */ #define NVIC_Pr
您可能关注的文档
最近下载
- ××公司第二届掼蛋比赛活动方案.doc VIP
- 《重症医学》教学大纲要点.doc VIP
- 人教版 (2024) 七年级上册Starter Unit 3 welcome 课件+音频(共26张PPT).pptx VIP
- 锥套零件的机械加工工艺规程制订及锥套工序专用夹具设计.doc VIP
- 2024年全国职业院校技能大赛高职组(建筑装饰数字化施工赛项)备赛试题库(含答案).docx VIP
- 06216中外建筑史2007年01月试卷.doc VIP
- “尚德守法共治共享食品安全”主题班会.ppt VIP
- 高中数学课件:3《2-2-1直线的点斜式方程》0.pdf VIP
- 智能停车场系统中英文对照外文翻译文献.docx
- 建筑工程培训PPT课件范文.pptx VIP
文档评论(0)