信號(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ù)。示例如下:
審核編輯:劉清
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
原文標(biāo)題:FreeRTOS二進(jìn)制信號(hào)量
文章出處:【微信號(hào):硬件會(huì),微信公眾號(hào):硬件會(huì)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
相關(guān)推薦
HEX格式和二進(jìn)制在多個(gè)方面存在顯著的區(qū)別。以下是對(duì)這兩者的對(duì)比: 一、定義與表示方式 HEX格式 : HEX,全稱為Intel HEX,是一種用于存儲(chǔ)和傳輸數(shù)據(jù)到嵌入式系統(tǒng)(如單片機(jī))的文件格式
發(fā)表于 11-18 15:24
?622次閱讀
在數(shù)字電子系統(tǒng)中,二進(jìn)制編碼器扮演著至關(guān)重要的角色。它負(fù)責(zé)將外部世界的模擬信號(hào)轉(zhuǎn)換為計(jì)算機(jī)可以理解的數(shù)字信號(hào)。精度和分辨率是衡量二進(jìn)制編碼器
發(fā)表于 11-06 09:56
?441次閱讀
二進(jìn)制編碼器是一種將二進(jìn)制信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)的電子設(shè)備,廣泛應(yīng)用于自動(dòng)化領(lǐng)域。 一、二進(jìn)制編碼器的工作原理
發(fā)表于 11-06 09:53
?382次閱讀
為二進(jìn)制信號(hào),為機(jī)器人提供精確的狀態(tài)信息。 二進(jìn)制編碼器的工作原理 二進(jìn)制編碼器是一種將物理量(如位置、速度等)轉(zhuǎn)換為
發(fā)表于 11-06 09:48
?459次閱讀
二進(jìn)制編碼器是一種電子電路,用于將二進(jìn)制信號(hào)轉(zhuǎn)換為其他格式,如十進(jìn)制、格雷碼等。以下是一些常見的二進(jìn)制編碼器種類及其特點(diǎn): 優(yōu)先編碼器(Pr
發(fā)表于 11-06 09:47
?583次閱讀
限性。 二進(jìn)制編碼器概述 二進(jìn)制編碼器是一種將輸入信號(hào)轉(zhuǎn)換為二進(jìn)制代碼的設(shè)備。它通常用于數(shù)字系統(tǒng)中,將模擬信號(hào)或非
發(fā)表于 11-06 09:45
?508次閱讀
二進(jìn)制編碼器是一種數(shù)字電路,它將輸入的二進(jìn)制代碼轉(zhuǎn)換為對(duì)應(yīng)的輸出信號(hào)。在數(shù)字系統(tǒng)中,編碼器用于將數(shù)據(jù)從一種形式轉(zhuǎn)換為另一種形式,以便于處理和傳輸。 二進(jìn)制編碼器工作原理 輸入與輸出關(guān)系
發(fā)表于 11-06 09:44
?966次閱讀
在二進(jìn)制和十進(jìn)制的處理中,有時(shí)候一些小技巧是很有用的。
1、把十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)
(1)在MATLAB中有一個(gè)函數(shù)dec2bin,可
發(fā)表于 07-05 11:51
?597次閱讀
在數(shù)字電路設(shè)計(jì)中,計(jì)數(shù)器是一種非常關(guān)鍵的組件,用于測(cè)量時(shí)間、計(jì)數(shù)事件或跟蹤狀態(tài)變化等。其中,二進(jìn)制串行計(jì)數(shù)器作為一種常用的計(jì)數(shù)器類型,在多種應(yīng)用場(chǎng)景中都發(fā)揮著重要作用。本文將對(duì)二進(jìn)制串行計(jì)數(shù)器
發(fā)表于 05-28 15:52
?905次閱讀
如何實(shí)現(xiàn)二進(jìn)制和BCD碼數(shù)據(jù)的相互轉(zhuǎn)變? 二進(jìn)制碼是將十進(jìn)制數(shù)字表示為二進(jìn)制數(shù)和十進(jìn)制數(shù)的一種表示方法。在計(jì)算機(jī)系統(tǒng)中,
發(fā)表于 02-18 14:51
?3744次閱讀
二進(jìn)制中的兩個(gè)數(shù)字0和1稱為位(bit, 是二進(jìn)制數(shù)字binary digit的縮寫)。在數(shù)字電路中,使用兩個(gè)不同的電平表示這兩個(gè)位。一般情況下,1 用高電平表示,0用低電平表示,這種
發(fā)表于 02-04 16:54
?1464次閱讀
背景 c++層數(shù)據(jù)都是二進(jìn)制,需要轉(zhuǎn)換成arrayBuffer透?jìng)鞯絜ts層給業(yè)務(wù)使用,但是鴻蒙的使用下面兩個(gè)api創(chuàng)建出來的二進(jìn)制數(shù)組數(shù)據(jù)都是錯(cuò)誤的。 接口
發(fā)表于 01-31 15:24
?1288次閱讀
,我們可以從數(shù)字存儲(chǔ)和數(shù)據(jù)傳輸?shù)慕嵌葋砜催@些進(jìn)制的意義。計(jì)算機(jī)內(nèi)部使用的是二進(jìn)制,即由0和1組成的數(shù)字系統(tǒng)。這是因?yàn)橛?jì)算機(jī)中的所有數(shù)據(jù)都被轉(zhuǎn)化為二進(jìn)制形式進(jìn)行處理和存儲(chǔ)。人們使用十
發(fā)表于 01-16 11:14
?5526次閱讀
十進(jìn)制轉(zhuǎn)換為二進(jìn)制是計(jì)算機(jī)科學(xué)中非?;A(chǔ)且重要的概念之一。在理解和應(yīng)用計(jì)算機(jī)科學(xué)的基礎(chǔ)知識(shí)時(shí),掌握這個(gè)算法是至關(guān)重要的。 在開始講解十進(jìn)制轉(zhuǎn)換為二進(jìn)制的算法之前,讓我們回顧一下十
發(fā)表于 01-15 10:32
?3382次閱讀
為二進(jìn)制的算法可以分為兩個(gè)步驟:整數(shù)部分轉(zhuǎn)換和小數(shù)部分轉(zhuǎn)換。下面將詳細(xì)介紹這兩個(gè)步驟。 首先,我們來討論整數(shù)部分的轉(zhuǎn)換。整數(shù)部分的轉(zhuǎn)換是比較簡單的,我們可以通過不斷地進(jìn)行除2取余的操作來得到二
發(fā)表于 01-11 09:14
?2453次閱讀
評(píng)論