信號(hào)量另一種通常的用法是用于任務(wù)間的同步機(jī)制。
二進(jìn)制信號(hào)量,可以想成是一個(gè)布爾類型,只有0 和 1。
兩個(gè)任務(wù)公用一個(gè)信號(hào)量,一個(gè)任務(wù)用于產(chǎn)生信號(hào)量,另一個(gè)任務(wù)使用此信號(hào)量。
比如:按鍵按下亮燈,再按一次燈滅。按鍵任務(wù)中按鍵按下時(shí),將信號(hào)量置1。
亮燈任務(wù)中將信號(hào)量置0。 用二進(jìn)制信號(hào)量可以減少判斷語句的資源消耗。
API函數(shù):
SemaphoreHandle_t xHandler; 創(chuàng)建二進(jìn)制Handler xHandler = xSemaphoreCreateBinary(); 創(chuàng)建一個(gè)二進(jìn)制信號(hào)量 返回NULL,或者h(yuǎn)andler xSemaphoreGive(xHandler); 生產(chǎn)者+1 xSemaphoreTake(xHanlder, timeout); 消費(fèi)者-1 返回pdPASS, 或者pdFAIL 示例如下:





系統(tǒng)判斷,會(huì)占用CPU的很大資源,以上示例中判斷按鍵是否按下,可以用中斷處理。在中斷中必須調(diào)用函數(shù)名以FromISR結(jié)尾的函數(shù)。示例如下:



審核編輯:劉清
-
cpu
+關(guān)注
關(guān)注
68文章
11288瀏覽量
225205 -
FreeRTOS
+關(guān)注
關(guān)注
14文章
499瀏覽量
66982 -
API函數(shù)
+關(guān)注
關(guān)注
0文章
15瀏覽量
8428
原文標(biāo)題:FreeRTOS二進(jìn)制信號(hào)量
文章出處:【微信號(hào):硬件會(huì),微信公眾號(hào):硬件會(huì)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
CDx4HC283與CDx4HCT283:4位二進(jìn)制全加器的技術(shù)解析與應(yīng)用指南
德州儀器4位二進(jìn)制全加器:SN54/74系列的技術(shù)剖析
探索CD54/74AC283與CD54/74ACT283:高效4位二進(jìn)制加法器的奧秘
CDx4HC283和CDx4HCT283:高速CMOS邏輯4位二進(jìn)制全加器的詳細(xì)解析
解析CD54/74AC283與CD54/74ACT283:4位二進(jìn)制加法器的卓越之選
CD54/74AC283與CD54/74ACT283:高性能4位二進(jìn)制加法器的全面解析
SN54F283與SN74F283:4位二進(jìn)制全加器的技術(shù)剖析
德州儀器4位二進(jìn)制全加器:SN54/74283系列深度解析
二進(jìn)制查找(Binary Search)介紹
FreeRTOS和uC/OS-II的功能特性
如何在vivado上基于二進(jìn)制碼對(duì)指令運(yùn)行狀態(tài)進(jìn)行判斷
在vivado上基于二進(jìn)制碼對(duì)指令運(yùn)行狀態(tài)進(jìn)行判斷
二進(jìn)制數(shù)據(jù)處理方法分享
FreeRTOS用二進(jìn)制信號(hào)量可以減少判斷語句的資源消耗
評(píng)論