首页 > 技术知识 > 正文

每个RTOS任务都有一个32位的通知值,任务创建时,这个值被初始化为0。RTOS任务通知相当于直接向任务发送一个事件,接收到通知的任务可以解除阻塞状态,前提是这个阻塞事件是因等待通知而引起的。

发送通知的同时,也可以可选的改变接收任务的通知值。

可以通过下列方法向接收任务更新通知: 不覆盖接收任务的通知值 覆盖接收任务的通知值 设置接收任务通知值的某些位 增加接收任务的通知值

FreeTRTOS可以通过哪些方法向接收任务更新通知呢-freetech福瑞泰克

一个任务可以有多个通知,一个通知都有32bit的值,和一个state是8bit,state状态确定有没有被处理。

我们不能对stats进行直接的读写操作,是系统自动的,我们只能对notification value 进行操作。

直接任务通知是,任务A直接改变任务B的Notifiction的值。

设置NotifictionValue:

FreeTRTOS可以通过哪些方法向接收任务更新通知呢-freetech福瑞泰克1

读取NotifictionValue:

FreeTRTOS可以通过哪些方法向接收任务更新通知呢-freetech福瑞泰克2

举例:

FreeTRTOS可以通过哪些方法向接收任务更新通知呢-freetech福瑞泰克3

FreeTRTOS可以通过哪些方法向接收任务更新通知呢-freetech福瑞泰克4

审核编辑:刘清

猜你喜欢