RTX5 | 事件标志组04 - 线程同步(逻辑与)
文章目录一、前言二、实验目的三、API3.1、osEventFlagsWait四、代码4.1、main.h4.2、main.c五、Event Recorder5.1、分别长按按键KEY0,KEY1,KEY2一、前言上一节学习了使用逻辑或同步线程,接下来学习使用逻辑与同步线程。STM32工程:链接:https://pan.baidu.com/s/1wKWtdPEHyn1NBTc97DRb5A提取码:
·
文章目录
一、前言
上一节学习了使用逻辑或同步线程,接下来学习使用逻辑与同步线程。
STM32工程:
链接:https://pan.baidu.com/s/1wKWtdPEHyn1NBTc97DRb5A
提取码:hmeo
二、实验目的
分别长按KEY0,KEY1,KEY2后同步线程A。
三、API
3.1、osEventFlagsWait
/* 使用举例1 */
void thread_A_App(void *argument)
{
osStatus_t os_Status;
while(1)
{
os_Status = osEventFlagsWait(event_Flags1_ID, /* 事件标志组ID */
0x00000003U, /* 等待事件标志位0与事件标志位1 */
osFlagsWaitAll, /* 逻辑与 */
osWaitForever /* 一直等待 */
);
printf("thread A is running.\r\n");
}
}
/* 使用举例2 */
void thread_A_App(void *argument)
{
osStatus_t os_Status;
while(1)
{
os_Status = osEventFlagsWait(event_Flags1_ID, /* 事件标志组ID */
0x00000003U, /* 等待事件标志位0与事件标志位1 */
osFlagsWaitAll, /* 逻辑与 */
2000U /* 超时时间2S */
);
printf("thread A is running.\r\n");
}
}
四、代码
4.1、main.h
4.2、main.c
五、Event Recorder
5.1、分别长按按键KEY0,KEY1,KEY2
更多推荐
已为社区贡献2条内容
所有评论(0)