CMSIS-OS2 api 线程标志学习

后续随进度会更新。。。

–线程标志–

先说一个系统卡死的坑

我们经常在中断里应用线程标志,这里要注意中断设置的优先级不能大于FreeRTOSConfig.h里面配置的优先级configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY

线程标志(和事件标志接近)可用于进程间通信。比如笔者做的蓝牙指纹锁项目,蓝牙收到消息 给指纹任务设置一个线程标志,指纹任务等到标志不再阻塞根据线程标志执行对应指纹任务(注册,删除,休眠。。。)。

线程标志设置函数

uint32_t osThreadFlagsSet   (      osThreadId_t       thread_id,uint32_t        flags )     
thread_id:是线程ID
flags:是线程标志,根据需要设置

线程标志清除函数

uint32_t osThreadFlagsClear(uint32_t flags)

返回当前线程标志

uint32_t osThreadFlagsGet(void )

等待线程标志

功能:等待当前线程的标志被设置

flags:等待的标志
options: 
	osFlagsWaitAny        0x00000000U  等待任意标志被设置
	osFlagsWaitAll        0x00000001U  等待所有标志被设置
	osFlagsNoClear        0x00000002U  不清除被设置的标志
timeout:0值为等待超时的tick数;  0 永久等待无限超时;

返回值:被清除前的标志  或  错误码(最高位是1)
uint32_t osThreadFlagsWait (uint32_t flags, uint32_t options, uint32_t timeout);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值