misc文件
misc.h文件是有关nvic配置的文件,他不像其他外设文件一样采用nvic.h这样的文件定义,而是采用这种名字
exit的作用
nvic作为系统中断控制器,它相当于一个中央级别的中断处理工具(包括外设和系统中断)
而EXIT处理自外部的中断,同时还由通知片上外设的功能
EXIT事件的作用
暂时没看到答案先留着
按键实验分析
1.完成led的初始化,包括了一开始led灯的状态
2.完成exit的初始化
exit_config函数逻辑
exit函数需要完成对nvic的初始化(设置为另外的函数)。对exit的初始化同时现需要对gpio的初始化
这里有一个函数GPIO_EXTILineConfig()
,作用是用于将gpio端口和中断线相对应,可是我们学习中已经是找到对应的关系了(找了很多文章,说可以不用写。)
NVIC_config的配置
这个配置比其他配置要多一个有关,优先级组的配置。
配置流程:
1.NVIC_PriorityGroupConfig()接受5个值,不同的匹配模式,让先占优先级和从优先级所能选择级数不同(一般选择NVIC_PriorityGroup_1)
2.完成对Nvic的先占优先级和从优先级的配置
中断服务函数
中断服务函数一开始为了方便管理都是放在同一个文件也就是stm32xxx_it.h这个文件中,但有的时候,我们访问的变量并不在这个文件的作用域中,所以为了访问到对应的变量,我们可以吧这个函数重新进行定义,只要名字对了,定义在哪里都可以
这里写的代码用了一个函数叫EXTIStatus = EXTI_GetITStatus(EXTI_LineX);
因为这里的中断服务函数是为多条线路服务的,他并不确定中断源是来自那一天线路,所以需要使用这种方式来进行判断
最后在中断完毕之后进行中断标志位的清除操作