NVIC_InitStructure.NVIC_IRQChannel = EXTI1_IRQn //中断线1全局中断
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2//抢占优先级为2
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0 //响应优先级为0
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE //允许EXTI0_IRQn中断
NVIC_Init(&NVIC_InitStructure)
你可以下载STM32固件库使用手册进行学习
相同抢占优先级的情况下,响应优先级的数值越小,优先级越高,比如相应优先级为0和1的中断同时到达将会先响应优先级为0的中断。如果优先级为1的中断正在运行,这时0中断到达,将会先暂停1去执行0,等0执行完毕再回到1.选择中断分组也就是选择用于分别表达抢先式优先级和子优先级的位数,即用多少位来表达抢先式优先级,多少位来表达子优先级(表达优先级一共用到8位,不同的分组导致分配给两种优先级的位数不同),一般情况下如果你的应用中优先级级数不多的话建议选分组0和分组1就足够了,具体内容可以去看下《Cortex-M3 权威指南》宋岩先生译的那本书,个人觉得讲的挺不错的~*_*欢迎分享,转载请注明来源:内存溢出
评论列表(0条)