网站大量收购独家精品文档,联系QQ:2885784924

STM32开发板(小苗板)资料系列之十——中断实验讲解.pdf

STM32开发板(小苗板)资料系列之十——中断实验讲解.pdf

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
STM32开发板(小苗板)资料系列之十——中断实验讲解

STM32开发板(小苗板)资料系列之十——中断实验讲解 来源:第九单片机论坛 STM32的所有GPIO都可以用作外部中断源的输入端,通过GPIO检测输入脉 冲,若有中断则暂停当前代码执行流程,进入到中断服务函数中进行处理,处理 完毕再回到暂停处继续执行。 中断向量表(如下图所示)中编号从-3到6的中断向量表定义为异常,从 编号7开始为外部中断。编号为负的异常不能被设置优先级,其它异常和中断的 优先级是可以自行设置。 因为STM32有很多中断且不容易配置,所以需要一个强大的且方便的中断控 制器NVIC,NVIC用来处理不可屏蔽中断和外部中断。 一 中断控制器NVIC ST 库已经把 NVIC 封装成库函数,查找帮助文档,在 Modules→ STM32F10x_StdPeriph_Driver→misc中有一个NVIC_Init()初始化函数,该函 数有一个结构体,其中包含四个成员,分别是: NVIC_IRQChannel 需要配置的中断向量 NVIC_IRQChannelCmd 使能或关闭相应中断向量的中断相应 NVIC_IRQChannelPreemptionPriority 配置相应中断向量的抢占优先级 NVIC_IRQChannelSubPriority 配置相应中断向量的响应优先级 1 NVIC_IRQChannel 查找STM32固件库手册可知NVIC_IRQChannel可取的值(如下图所示),本 例程用于中断的按键连接的接口为KEY1—PC5、KEY2—PC6、KEY3—PC7、KEY4— PC9,而从EXTI5至EXTI9线使用同一个中断向量,所以写入的参数为: 上面函数写在EXTI.c源文件中。 这些可写入的参数可以在stm32f10x.h文件中查找到。 2 NVIC_IRQChannelCmd 该参数指定了在成员NVIC_IRQChannel中定义了IRQ通道被使能还是失能, 其取值为ENABLE或DISABLE。 本例程写入参数(EXTI.c源文件): 3 NVIC_IRQChannelPreemptionPriority 和NVIC_IRQChannelSubPriority 这两个成员是配置中断向量的抢占优先级和响应优先级,两种优先级的区别 是: 抢占是指打断其它的中断,比如在执行中断服务函数A的过程中被中断B 打断,执行完中断服务函数B再继续执行中断A。 响应是应用在抢占属性相同的情况下,当两个中断向量的抢占优先级相同 时,如果两个中断同时到达,则先处理响应优先级高的中断。 NVIC可以配置16种中断向量的优先级,抢占优先级和响应优先级的数量由 一个4位数字来决定,一共有五组分配方式。 通过查看STM32固件库手册可知这两个参数能够取得的值,如下图。 选择NVIC_PriorityGroup_0,则参数NVIC_IRQChannelPreemptionPriority 对中断通道的设置不产生影响。 选择NVIC_PriorityGroup_4,则参数NVIC_IRQChannelSubPriority对中断 通道的设置不产生影响。 第0组:所有4位用来配置抢占优先,即16种中断向量只有抢占属性,没 有响应属性; 第1组:最高1位为用来配置抢占优先级,低3位用来配置响应优先级,即 有两种基本的抢占优先级,8种响应优先级。 第2组:2位用来配置抢占优先级,2位用来配置响应优先级,各四种。 第3组:高3位用来配置抢占优先级,最低1位用来配置响应优先级,即8 种抢占优先级,2种响应优先级。 第4组:所以4位用来配置响应优先级。即16种中断向量只有响应属性。 NVIC的优先级组可通过库函数NVIC_PriorityGroupConfig()来配置,可 输入的参数为NVIC_PriorityGroup_0~NVIC_PriorityGroup_4。 本例程写入参数(EXTI.c源文件): 二 EXTI外部中断 STM32的所有的I/O口都可以配置为EXTI中断模式,可以配置为下降沿中 断、上升沿中断、上升下降沿中断这三种模式。 GOIP与EXTI的连接方

文档评论(0)

xxj1658888 + 关注
实名认证
内容提供者

教师资格证持证人

该用户很懒,什么也没介绍

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档