FreeRTOS学习

7 篇文章 10 订阅
4 篇文章 0 订阅

事件组
configUSE_16_BIT_TICKS为1时可以存储8个时间位,为0时可以存储24个事件组
动态与静态创建时间标志组

EventGroupHandle_t xEventGroupCreate(void)
EventGroupHandle_t xEventGroupCreateStatic(StaticEventGroup_t *pxEventGroupBuffer)

清除事件位

//将事件标志组中指定事件位清零
EventBits_t xEventGroupClearBits(EventGroupHandle_t xEventGroup,const EventBits_t uxBitsToClear);
EventBits_t xEventGroupClearBitsFromISR(EventGroupHandle_t xEventGroup,
                                        const EventBits_t uxBitsToClear);

设置事件位

//设置指定的事件位为1
EventBits_t xEventGroupSetBits(EventGroupHandle_t xEventGroup,const EventBits_t uxBitsToSet);
EventBits_t xEventGroupSetBitsFromISR(EventGroupHandle_t xEventGroup,
                                      const EventBits_t uxBitsToSet,
                                      BaseType_t* pxHigherPriorityTaskWoken);
//pxHigherPriorityTaskWoken :标记退出次函数以后是否进行任务切换,当此值为pdTRUE的时候在退出中断服务函数之前一定要
//                           进行一次任务切换

获取事件标志组值

EventBits_t xEventGroupGetBits(EventGroupHandle_t xEventGroup)
EventBits_t xEventGroupGetBitsFromISR(EventGroupHandle_t xEventGroup)

等待指定的事件位
某个人可能需要与多个事件进行同步,那么这个任务就需要等待并判断多个事件位;

EventBits_t xEventGroupWaitBits(EventGroupHandle_t xEventGroup,
                                const EventBits_t uxBitsToWaitFor,//指定要等待的事件位,0x05=bit0和bit2
                                const BaseType_t xClearOnExit,//pdTRUE 退出函数前所有事件位清零
                                const BaseType_t xWaitForAllBIts,//pdTRUE所有事件位为或者阻塞时间到了,函数就会返回
                                const TickType_t xTicksToWait);
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值