最后给个总结
这里就有设置优先级的一个函数
如上图,其实priority就是0-15的数,转成二进制就是0000-1111,然后自己看这怎么拆分,是拆1bit和3bit还是2bit和2bit随意,反正这个priority数越小就优先级越高,下面看看实验,我直接把(1<<__NVIC_PRIO_BITS)-1换成数了,这里__NVIC_PRIO_BITS可以查一下,定义的是4,这个一算就是15,也就是1111,不论怎么分组,优先级都是最低的了,所以要改,我改了0立马就好用了(delay里面的while(flag)等待采用了systick的中断服务函数处理flag为0),改了别的数,比如9就不好使了,因为我EXTI1设置都是主2,从1,也就是1001,这就是9,所以9肯定不好使了,比9大肯定没门,但是8是不是就可以了呢?也不可以,因为8是1000,高二位和9的高二位一样,所以也进不去systick的中断服务函数如下图
|