RTX5 | 线程标志组02 - 获取线程标志与清除线程标志
生活随笔
收集整理的這篇文章主要介紹了
RTX5 | 线程标志组02 - 获取线程标志与清除线程标志
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
文章目錄
- 一、前言
- 二、實(shí)驗(yàn)?zāi)康?/li>
- 三、API
- 3.1、osThreadFlagsClear
- 3.2、osThreadFlagsGet
- 四、代碼
- 4.1、main.h
- 4.2、main.c
- 五、Event Recorder調(diào)試
- 5.1、長按按鍵KEY1
- 5.2、長按按鍵KEY2
- 六、細(xì)節(jié)補(bǔ)充
- 6.1、osThreadFlagsGet不會(huì)阻塞當(dāng)前線程,osThreadFlagsWait可以阻塞當(dāng)前線程,也可以設(shè)置超時(shí),也可以不阻塞。
一、前言
跟線程標(biāo)志相關(guān)的API還有兩個(gè),分別是osThreadFlagsClear與osThreadFlagsGet。
STM32工程:
鏈接:https://pan.baidu.com/s/14RvDF5k-dWD92N6iIwxHSA
提取碼:2o3t
二、實(shí)驗(yàn)?zāi)康?/h1>
長按按鍵KEY1,發(fā)送線程標(biāo)志0x02U(0x01U << 1)給Test_Flags線程,Test_Flag線程獲取標(biāo)志后,執(zhí)行相應(yīng)的操作,并清除該標(biāo)志位。
長按按鍵KEY2,發(fā)送線程標(biāo)志0x01U(0x01U << 0)給Test_Flag線程,Test_Flag線程獲取標(biāo)志后,執(zhí)行相應(yīng)的操作,并清除該標(biāo)志位。
三、API
3.1、osThreadFlagsClear
/* 使用案例 */ osThreadFlagsClear(0x01U << 0); /* 清除當(dāng)前線程的flag0 */ osThreadFlagsClear(0x01U << 1); /* 清除當(dāng)前線程的flag1 */ osThreadFlagsClear(0x01U << 8); /* 清除當(dāng)前線程的flag8 */ osThreadFlagsClear(0x01U << 31); /* 清除當(dāng)前線程的flag31 */3.2、osThreadFlagsGet
/* 使用案例 */ uint32_t flags; flags = osThreadFlagsGet(); /* 獲取當(dāng)前線程的flags */四、代碼
4.1、main.h
4.2、main.c
五、Event Recorder調(diào)試
5.1、長按按鍵KEY1
5.2、長按按鍵KEY2
六、細(xì)節(jié)補(bǔ)充
6.1、osThreadFlagsGet不會(huì)阻塞當(dāng)前線程,osThreadFlagsWait可以阻塞當(dāng)前線程,也可以設(shè)置超時(shí),也可以不阻塞。
總結(jié)
以上是生活随笔為你收集整理的RTX5 | 线程标志组02 - 获取线程标志与清除线程标志的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: js hover 触发事件_为什么说JS
- 下一篇: STM32F407+CubeMX+Kei