第四期讲中断的管理和基础知识
当程序处理到一半的情况下触发中断,此时系统将会先完成触发中断后的中断内容,当中断内容完成了之后,系统再回到原程序处理剩下一半的程序。这个就叫做中断。
既然是中断,那么肯定有触发的来源,那这个触发来源我们称之为中断源。
中断源:中断的来源,来自于串口,定时器,SPI等各种模块。
中断服务函数:中断服务函数就是用户层所编写的代码内容,这个内容就是触发中断后,我们要实现的功能。
注意:一般在中断函数中,尽量不要出现延时,如果必须用到延时,时间尽可能的小,不然就会影响到中断的后续响应。
中断的优先级:当同一时间有多个中断产生到来,那么系统会按照中断的优先级来进行先后处理顺序,中断的优先级高,就会优先处理。一般为0-15,数字越低,优先级越高。
接下来讲一下中断系统的分层
顶层是指NVIC模块,这个模块属于内核的,也就是说所有产生的中断最后都会传到NVIC这个模块来进行优先级判断,最后再进行处理。
底层是指片上的外设,比如SPI,定时器,串口模块等都属于片上外设。
当我们想使用某一个模块的中断的时候,步骤如下
在模块内部使能中断,然后设置模块的优先级别(抢占式优先级和子优先级)