下载此文档

05-中断编程-yy.doc


文档分类:IT计算机 | 页数:约7页 举报非法文档有奖
1/7
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/7 下载此文档
文档列表 文档介绍
五、中断编程 ARM Coetex-M3 内核共支持 256 个中断,其中 16 个内部中断, 240 个外部中断和可编程的 256 级中断优先级的设置。对于 STM32F10xxx 产品( 小容量、中容量和大容量) 产品, 支持 76 个中断( 16 个内部+6 0 个外部), 互联型产品支持的中断共 84 个( 16 个内部+68 个外部)。有 16 级可编程的中断优先级的设置,仅使用中断优先级设置 8bit 中的高 4 位。 4bit 的中断优先级可以分成 2 组,从高位看,前面定义的是抢占式优先级,后面是响应优先级。按照这种分组, 4bit 一共可以分成 5组第0 组:所有 4bit 用于指定响应优先级; 第1 组:最高 1 位用于指定抢占式优先级,后面 3 位用于指定响应优先级; 第2 组:最高 2 位用于指定抢占式优先级,后面 2 位用于指定响应优先级; 第3 组:最高 3 位用于指定抢占式优先级,后面 1 位用于指定响应优先级; 第4 组:所有 4 位用于指定抢占式优先级。所谓抢占式优先级和响应优先级, 他们之间的关系是: 具有高抢占式优先级的中断可以在具有低抢占式优先级的中断处理过程中被响应,即中断嵌套。当两个中断源的抢占式优先级相同时, 这两个中断将没有嵌套关系, 当一个中断到来后, 如果正在处理另一个中断, 这个后到来的中断就要等到前一个中断处理完之后才能被处理。如果这两个中断同时到达, 则中断控制器根据他们的响应优先级高低来决定先处理哪一个; 如果他们的抢占式优先级和响应优先级都相等,则根据他们在中断表中的排位顺序决定先处理哪一个。每一个中断源都必须定义 2 个优先级。在 文件中定义了几个关于中断的函数: void MY_NVIC_Init(u8 NVIC_PreemptionPriority,u8 NVIC_SubPriority,u8 NVIC_Channel,u8 NVIC_Group); // 设置中断其中, NVIC_Channel 参数定义在 文件中。中断函数入口名( Handle )定义在 文件中。在《 Cortex-M3 权威指南》中,“ 优先级的定义”中说明了抢占优先级和子优先级概念: NVIC 中有一个寄存器是“应用程序中断及复位控制寄存器”( AIRCR , 地址 0xE000_ED00 ), 它里面有一个位段名为“优先级组”。该位段的值对每一个优先级配置为2 个位段: MSB 所在的位段(左边的)对应抢占优先级, 而 LSB 所在的位段(右边的)对应子优先级。 AIRCR 如下图。 NVIC 的访问地址是 0xE000_E000. NVIC 下的寄存器包括: ??使能和除能寄存器 SETENAs: 0 xE000_E100 – 0xE000_E11C ; CLRENAs: 0xE000E180 - 0xE000_E19C ??悬起与解悬寄存器 SETPENDs: 0xE000_E200 – 0xE000_E21C ; CLRPENDs: 0xE000E280 - 0xE000_E29C ??活动状态寄存器 0xE000_E300_0xE000_E31C ??优先级寄存器 0xE000_E400 – 0xE0

05-中断编程-yy 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数7
  • 收藏数0 收藏
  • 顶次数0
  • 上传人63229029
  • 文件大小208 KB
  • 时间2017-01-18