如何配置中断
步骤
1.初始化GPIO结构体(前面已学过)
2.初始化EXTI
3.配置优先级NVIC
4.编写中断函数
具体步骤
一、初始化用来中断的GPIO口
二、初始化EXTI
边沿监测电路----->上升沿/下降沿触发中断
在FWLIB-.exti.c-exti.h
结构体含义
①端口已经定,直接复制就可以
②模式选择,我们通常使用产生中断
③触发方式
④是否使能或禁用
三、配置VNIC(中断优先级)
配置中断的优先级,中断嵌套
NVIC结构体
①FWLIB-misc.c–stm32f10x.h中配置中断通道
①设置中断通道
stm32f10x.h中配置中断通道
②、③.设置抢占优先级、设置子优先级
在misc.h中找到优先组
在配置之前要定义优先组
调用这个函数就是为了配置两个方框,两个参数:抢占优先级 |子优先级(当两个中断同时发生时候选择哪个优先执行)
(不同组别的优先级也是不一样的)
0-15优先级依次递减,其中0最高。
发生中断时,先比较抢占优先级,谁小谁优先级就高,先发生。当抢占优先级相同时,比较子优先级。
当抢占优先级和子优先级相同时,则要去对比外部中断的序号,从小到大,优先级依次递减
④控制是否使能 中断控制器;使能/禁用
四.编写中断服务函数
(在固件库模板中已经写好)
在STARUP-_hd.s中
用哪种中断语言直接复制调用