一、优先级基本理解
1、CC3200的中断优先级配置类似于STM32,分为抢占式优先级和响应优先级,优先级数值越大,优先级越低。
2、对于抢占式优先级不同的中断,高抢占优先级中断可以打断正在执行的低抢占优先级的中断。这里,我们说他们可以嵌套。
3、但是响应优先级不可以,它不具有“抢占”功能。后到来的中断,如果他和目前正在执行的中断的抢占优先级相同的话,即使响应优先级再高,也无法打断当前中断,只有等待当前中断完成后才会轮到他执行。在抢占优先级相同这个大前提下,响应优先级的作用是,当两个中断同时到来时,较高响应优先级的中断会先得到“响应”,也就是会先执行。
4、如果抢占和响应优先级都一样,那么当同时到来时,就根据他们在中断向量表中的排列顺序决定先执行哪一个。
二、CC3200的优先级原理
1、CC3200中的优先级通过3位二进制数表示,可以表示0-7级的中断。这三位二进制数被抢占优先级和响应优先级共同占有,因此,他们的分配方式有以下四种:
抢占优先级 |
响应优先级 |
0bit |
3bit |
1bit |
2bit |
2bit |
1bit |
3bit |
0bit |
如果用X表示抢占优先级位,Y表示响应优先级位,上面的表格还可以用下面的方式表示: