中断定义:
参考之前发的c51博文
中断优先级:
任何中断的优先级都大于任务。
在我们的系统,中断同样是具有优先级的,并且我们也可以设置它的优先级,但是他的优先级并不是从0-15,默认是从5-15,0-4这5个中断优先级不是freeRTOS控制的(5是取决于configMAX_SYSCALL_INTERRUPT_PRIORITY(默认是5))
注意:
在中断中必须使用中断相关的函数;
中断服务函数运行时间越短越好。
实操:
实验需求:
创建一个队列及一个任务,按下按键KEY1触发中断,在中断服务函数里向队列发送数据,任务则阻塞接收队列数据。
cubeMX
1、设置KEY1中断
2、设置一个任务,1个队列
keil5
重写中断回调函数: