FreeRtos进阶——事件组内部逻辑

在这里插入图片描述

事件组操作逻辑

在我们使用事件组进行操作时,会用到位操作的逻辑,以及链表的操作逻辑。例如在使用等待事件函数时,第一个参数代表事件组,第二个代表等待的时间,第三个代表对应的事件位发生后退出时是否清除标志位,第四个代表是否需要等待所有事件发生,第五个参数代表愿意等待的时间。
在这里插入图片描述
在这里插入图片描述

如何实现这个等待函数呢?在内部函数中,我们会发现要想实现互斥访问数据对事件组的位进行操作时,首先需要关闭调度器,而不是关中断,因为在中断中无法对位进行操作。
在这里插入图片描述

中断中如何实现事件组位设置

在中断中,我们通过对应中断事件组设置函数,其实是无法直接设置事件组的,中断中做的操作仅仅只是将需要设置的事件组写入一个定时器任务的就绪队列,无法直接设置事件组的对应的位。在定时器时间到了之后自动执行这个任务,而不是在中断中执行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值