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





系統判斷,會占用CPU的很大資源,以上示例中判斷按鍵是否按下,可以用中斷處理。在中斷中必須調用函數名以FromISR結尾的函數。示例如下:



審核編輯:劉清
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
cpu
+關注
關注
68文章
11279瀏覽量
225027 -
FreeRTOS
+關注
關注
14文章
499瀏覽量
66946 -
API函數
+關注
關注
0文章
15瀏覽量
8426
原文標題:FreeRTOS二進制信號量
文章出處:【微信號:硬件會,微信公眾號:硬件會】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
熱點推薦
CDx4HC283與CDx4HCT283:4位二進制全加器的技術解析與應用指南
CDx4HC283與CDx4HCT283:4位二進制全加器的技術解析與應用指南 在數字電路設計領域,加法器是實現數值運算的基礎元件之一。今天我們要深入探討的CDx4HC283和CDx4HCT283
德州儀器4位二進制全加器:SN54/74系列的技術剖析
德州儀器4位二進制全加器:SN54/74系列的技術剖析 在數字電路設計中,加法器是實現算術運算的基礎組件。德州儀器的SN54283、SN54LS283、SN54S283、SN74283
探索CD54/74AC283與CD54/74ACT283:高效4位二進制加法器的奧秘
探索CD54/74AC283與CD54/74ACT283:高效4位二進制加法器的奧秘 在電子設計領域,加法器是實現數字運算的基礎元件之一。今天,我們將深入研究德州儀器(Texas
CDx4HC283和CDx4HCT283:高速CMOS邏輯4位二進制全加器的詳細解析
CDx4HC283和CDx4HCT283:高速CMOS邏輯4位二進制全加器的詳細解析 在電子設計領域,加法器是數字電路中最基本的運算單元之一,用于實現二進制數的加法運算。今天要給大家介紹
解析CD54/74AC283與CD54/74ACT283:4位二進制加法器的卓越之選
解析CD54/74AC283與CD54/74ACT283:4位二進制加法器的卓越之選 在電子設計領域,加法器是實現數字運算的基礎組件。今天我們要深入探討的是德州儀器(Texas
CD54/74AC283與CD54/74ACT283:高性能4位二進制加法器的全面解析
CD54/74AC283與CD54/74ACT283:高性能4位二進制加法器的全面解析 在電子設計領域,加法器是一種基礎且關鍵的數字電路,廣泛應用于各種計算和數據處理系統中。今天,我們要深入探討
SN54F283與SN74F283:4位二進制全加器的技術剖析
SN54F283與SN74F283:4位二進制全加器的技術剖析 在數字電路設計中,加法器是最基礎且關鍵的組件之一。今天我們要深入探討的是德州儀器(TI)的SN54F283和SN74F283這兩款4位
德州儀器4位二進制全加器:SN54/74283系列深度解析
德州儀器4位二進制全加器:SN54/74283系列深度解析 在數字電路設計領域,加法器是構建復雜算術邏輯單元的基礎組件。德州儀器(TI)的SN54/74283系列4位二進制全加器憑借其快速進位
二進制查找(Binary Search)介紹
二進制查找(Binary Search)用于在已排序的數組中執行二進制查找的函數。
int binary_search(int arr[], int size, int target
發表于 12-12 06:54
FreeRTOS和uC/OS-II的功能特性
FreeRTOS:
核心功能: 任務調度(固定優先級搶占式 + 時間片輪詢)、隊列、信號量(二進制、計數)、互斥鎖(帶優先級繼承)、軟件定時器、事件組(事件標志)、任務通知(高效輕量級的信號量
發表于 11-17 08:17
如何在vivado上基于二進制碼對指令運行狀態進行判斷
在擴展指令時我們常常需要一些手段來幫助我們判斷指令是否能夠成功運行、運行狀態是否正確。一方面,我們可以通過模擬器來實現,另一方面,在沒有模擬器的情況下,我們可以通過將所擴展指令的二進制
發表于 10-24 06:46
在vivado上基于二進制碼對指令運行狀態進行判斷
在擴展指令時我們常常需要一些手段來幫助我們判斷指令是否能夠成功運行、運行狀態是否正確。一方面,我們可以通過模擬器來實現,另一方面,在沒有模擬器的情況下,我們可以通過將所擴展指令的二進制
發表于 10-24 06:31
如何使用Keil將二進制文件加載到外部SPI Flash中?
我想知道是否有辦法使用 Keil 將隨機二進制文件加載到外部 SPI 閃存中。二進制文件將通過 LPC54102(OM13077 EVK 板)。我知道一些用于 FPGA 的 ISE 允許您執行此作
發表于 03-17 06:37
FreeRTOS用二進制信號量可以減少判斷語句的資源消耗
評論