下载此文档

stm32 NVIC中断管理实现.doc


文档分类:资格/认证考试 | 页数:约11页 举报非法文档有奖
1/11
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/11 下载此文档
文档列表 文档介绍
stm32NVIC中断管理实现[直接操作寄存器]cortex-m3支持256个中端,其中包含了16个内核中断,240个外部中断。stm32只有84个中断,包括16个内核中断和68个可屏蔽中断。stm32f103上只有60个中断,f107上才有68个中断。中断是stm32很基础的一个功能,学会使用中断,才可以更好的使用其他的外设。理解stm32的中断,必须要先从stm32的中断优先级分组是怎么回事。要理解优先级分组,就要先理解什么是先占优先级,和次占优先级。先占优先级的概念等同于51单片机中的中断。假设有两中断先后触发,已经在执行的中断先占优先级如果没有后触发的中断先占优先级更高,就会先处理先占优先级高的中断。也就是说又有较高的先占优先级的中断可以打断先占优先级较低的中断。这是实现中断嵌套的基础。次占优先级只在同一先占优先级的中断同时触发时起作用,先占优先级相同,则优先执行次占优先级较高的中断。次占优先级不会造成中断嵌套。如果中断的两个优先级都一致,则优先执行位于中断向量表中位置较高的中断。还需要注意的一点是这里的中断优先级高是指是指是否更接近0级,0级优先级是最高的。那么最低的优先级可以是多少?这就涉及了优先级分组的概念。stm32通过一个中断向量控制器(NVIC),来分配先占优先级和次占优先级的数量。armcortex-m3内核中拥有一个3位宽度的的PRIGROUP数据区,用来指示一个8位数据序列中的小数点的位置从而表示中断优先级的分组。举个例子可以更好的理解:-m3中有2的三次方即为8个优先级分组。但是stm32中只有5个优先级分组,表示方法略有不同,参照下表:MDK中定义的中断相关的寄存器结构体为:typedefstruct{vu32ISER[2];u32RESERVED0[30];vu32ICER[2];u32RSERVED1[30];vu32ISPR[2];u32RESERVED2[30];vu32ICPR[2];u32RESERVED3[30];vu32IABR[2];u32RESERVED4[62];vu32IPR[15];}NVIC_TypeDef;ISER[2]:中断使能寄存器组stm32可屏蔽中断共有60个,这里用了两个32位的寄存器,可以表示64个中断。stm32只用了前60位。若要使能某个中断,则必须设置相应的ISER位为1。具体每一位对应的中断关系如下:()01#defineWWDG_IRQChannel((u80x00/*WindowWatchDogInterrupt*/02#definePVD_IRQChannel((u80x01/*PVDthroughEXTILinedetectionInterrupt*/03#AMPER_IRQChannel((u80x02/*TamperInterrupt*/04#defineRTC_IRQChannel((u80x03/*RTCglobalInterrupt*/05#defineFLASH_IRQChannel((u80x04/*FLASHglobalInterrupt*/06#_IRQChannel((u80x05/*RCCglobalInterrupt*/07#defineEXTI0_IRQChannel((u80x06/*EXTILine0Interrupt*/08#defineEXTI1_IRQChannel((u80x07/*EXTILine1Interrupt*/09#defineEXTI2_IRQChannel((u80x08/*EXTILine2Interrupt*/10#defineEXTI3_IRQChannel((u80x09/*EXTILine3Interrupt*/11#defineEXTI4_IRQChannel((u80x0A/*EXTILine4Interrupt*/12#defineDMA1_Channel1_IRQChannel((u80x0B/*DMA1Channel1globalInterrupt*/13#defineDMA1_Channel2_IRQChannel((u80x0C/*DMA1Channel2globalInterrupt*/14#defineDMA1_Channel3_IRQChannel((u80x0D/*DMA1Channel3globalInterrupt*/15#defineDMA1_Channel4_IR

stm32 NVIC中断管理实现 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数11
  • 收藏数0 收藏
  • 顶次数0
  • 上传人q1188830
  • 文件大小222 KB
  • 时间2019-12-13