要使用任务通知的话,首先要将宏configUSE_TASK_NOTIFICATION定义为1
FreeRTOS的每个任务都有一个32位的通知值,任务控制快中的成员变量ul NotifiedValue就是这个通知值。
假设某个任务通知的接收任务,因为等待任务通知而阻塞的话,向这个接收任务发送任务通知后,就会解除阻塞状态。
任务通知可以更新接收任务的通知值。这种方式可以替代队列、二值信号量和事件标志组。
优点:解除阻塞任务的时间更快!并且使用的RAM更少
缺点:任务通知只能有一个接收任务
接受任务可以因为接收任务通知而进入阻塞态,但是,发送任务不会因为任务通知发送失败而阻塞。