衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

FreeRTOS信號量介紹

麥辣雞腿堡 ? 來源:嵌入式Linux系統開發 ? 作者:嵌入式Linux系統開 ? 2023-07-06 17:09 ? 次閱讀

1、信號量用于控制對共享資源的訪問

舉一個很常見的例子,某個停車場有100個停車位,這 100 個停車位大家都可以用,對于大家來說這 100 個停車位就是共享資源。假設現在這個停車場正常運行,你要把車停到這個這個停車場肯定要先看一下現在停了多少車了?還有沒有停車位?當前停車數量就是一個信號量,具體的停車數量就是這個信號量值,當這個值到 100 的時候說明停車場滿了。停車場滿的時你可以等一會看看有沒有其他的車開出停車場,當有車開出停車場的時候停車數量就會減一,也就是說信號量減一,此時你就可以把車停進去了,你把車停進去以后停車數量就會加一,也就是信號量加一。這就是一個典型的使用信號量進行共享資源管理的案例,在這個案例中使用的就是計數型信號量。

再看另外一個案例:使用公共電話,我們知道一次只能一個人使用電話,這個時候公共電話就只可能有兩個狀態:使用或未使用,如果用電話的這兩個狀態作為信號量的話,那么這個就是二值信號量。

信號量用于控制共享資源訪問的場景相當于一個上鎖機制,代碼只有獲得了這個鎖的鑰匙才能夠執行。

2、信號量的用于任務同步

任務與任務或中斷與任務之間的同步。

在執行中斷服務函數的時候可以通過向任務發送信號量來通知任務它所期待的事件發生了,當退出中斷服務函數以后在任務調度器的調度下同步的任務就會執行。

在編寫中斷服務函數的時候我們都知道一定要快進快出,中斷服務函數里面不能放太多的代碼,否則的話會影響的中斷的實時性。裸機編寫中斷服務函數的時候一般都只是在中斷服務函數中打個標記,然后在其他的地方根據標記來做具體的處理過程。在使用 RTOS 系統的時候我們就可以借助信號量完成此功能,當中斷發生的時候就釋放信號量,中斷服務函數不做具體的處理。具體的處理過程做成一個任務,這個任務會獲取信號量,如果獲取到信號量就說明中斷發生了,那么就開始完成相應的處理,這樣做的好處就是中斷執行時間非常短。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5092

    文章

    19177

    瀏覽量

    307657
  • 信號
    +關注

    關注

    11

    文章

    2804

    瀏覽量

    77100
  • FreeRTOS
    +關注

    關注

    12

    文章

    484

    瀏覽量

    62395
收藏 人收藏

    評論

    相關推薦

    FreeRTOS串口中斷接收不定長的數據與二值信號量的使用

    FreeRTOS例程,使用串口中斷接收不定長的數據,以及二值信號量的使用
    的頭像 發表于 09-26 09:02 ?4384次閱讀
    <b class='flag-5'>FreeRTOS</b>串口中斷接收不定長的數據與二值<b class='flag-5'>信號量</b>的使用

    FreeRTOS信號量使用教程

    信號量是操作系統中重要的一部分,信號量一般用來進行資源管理和任務同步, FreeRTOS信號量又分為二值信號量、 計數型
    的頭像 發表于 12-19 09:22 ?3281次閱讀
    <b class='flag-5'>FreeRTOS</b><b class='flag-5'>信號量</b>使用教程

    FreeRTOS信號量的使用與實例

    在嵌入式系統中,任務管理是一個重要的部分,它涉及到任務之間的通信和同步,信號量,隊列,互斥鎖和事件標志組等概念。本文將以 FreeRTOS 為例,詳細講解這些內容。
    的頭像 發表于 12-12 15:25 ?2769次閱讀

    轉:freeRTOS信號量學習

    信號量同樣是RTOS學習中很重要的一節,信號量可以用在共享資源或者同步任務中,對執行權的控制,誰擁有信號量誰擁有執行權,在freeRTOS信號量
    發表于 08-12 18:29

    有關FreeRTOS信號量和計數信號量在使用過程中需要注意的細節

    本文介紹有關FreeRTOS信號量和計數信號量在使用過程中需要注意的細節,以及自己在過程中的分享的一些有關遇到的問題和注意點。
    發表于 08-06 06:26

    FreeRTOS信號量介紹

    FreeRTOS信號量 & ESP32實戰閱讀建議:有一定操作系統基礎知識。FreeRTOS信號量1. 二值信號量??二值
    發表于 01-27 07:28

    Linux信號量(2):POSIX 信號量

    上一章,講述了 SYSTEM V 信號量,主要運行于進程之間,本章主要介紹 POSIX 信號量:有名信號量、無名信號量。 POSIX
    的頭像 發表于 10-29 17:34 ?750次閱讀

    FreeRTOS信號量 & ESP32實戰

    FreeRTOS信號量 & ESP32實戰閱讀建議:有一定操作系統基礎知識。FreeRTOS信號量1. 二值信號量??二值
    發表于 12-03 18:06 ?1次下載
    <b class='flag-5'>FreeRTOS</b><b class='flag-5'>信號量</b> & ESP32實戰

    FreeRTOS 隊列 信號量 互斥

    文章目錄前言Queue 隊列semaphore 信號量Mutex 互斥微信公眾號前言FreeRTOS STM32CubeMX配置 內存管理 任務管理上節介紹了用STM32CubeMX
    發表于 12-09 09:51 ?0次下載
    <b class='flag-5'>FreeRTOS</b> 隊列 <b class='flag-5'>信號量</b> 互斥<b class='flag-5'>量</b>

    FreeRTOS高級篇6---FreeRTOS信號量分析

    FreeRTOS信號量包括二進制信號量、計數信號量、互斥信號量(以后簡稱互斥)和遞歸互斥
    發表于 01-26 17:39 ?7次下載
    <b class='flag-5'>FreeRTOS</b>高級篇6---<b class='flag-5'>FreeRTOS</b><b class='flag-5'>信號量</b>分析

    FreeRTOS系列第20篇---FreeRTOS信號量API函數

    FreeRTOS信號量包括二進制信號量、計數信號量、互斥信號量(以后簡稱互斥)和遞歸互斥
    發表于 01-26 17:44 ?4次下載
    <b class='flag-5'>FreeRTOS</b>系列第20篇---<b class='flag-5'>FreeRTOS</b><b class='flag-5'>信號量</b>API函數

    在Arduino IDE中使用FreeRTOS信號量

    電子發燒友網站提供《在Arduino IDE中使用FreeRTOS信號量.zip》資料免費下載
    發表于 01-04 10:18 ?0次下載
    在Arduino IDE中使用<b class='flag-5'>FreeRTOS</b><b class='flag-5'>信號量</b>

    freeRTOS中最常用到的信號量有哪些

    在操作系統系統中,信號量通常用于控制對共享資源的訪問和任務之間進行同步,信號量在操作系統中是很常用的,也是學習freeRTOS操作系統必須要掌握的。
    的頭像 發表于 02-10 11:04 ?2268次閱讀
    <b class='flag-5'>freeRTOS</b>中最常用到的<b class='flag-5'>信號量</b>有哪些

    FreeRTOS的二值信號量

    FreeRTOS中的信號量是一種任務間通信的方式,信號量包括:二值信號量、互斥信號量、計數信號量
    的頭像 發表于 02-10 15:07 ?1553次閱讀

    FreeRTOS四種信號量詳細介紹

    1、二值信號量 二值信號量通常用于互斥訪問或同步,二值信號量和互斥信號量非常類似,但是還是有一些細微的差別,互斥信號量擁有優先級繼承機制,二
    的頭像 發表于 07-06 17:14 ?2738次閱讀
    月华百家乐官网的玩法技巧和规则| 永利高娱乐城| 百家乐是咋玩法| 百家乐官网九| 24山天机申山寅向择日| 伟博百家乐官网娱乐城| 择日自学24| 百家乐策略网络游戏信誉怎么样 | 网上百家乐官网开户送现金| 新奥博百家乐娱乐城| 赌百家乐咋赢对方| 太阳会百家乐现金网| 百家乐投注心态| 网上百家乐哪家最好| 太阳城百家乐168| 网上百家乐软件大全酷| 百家乐赌博软件下载| 百家乐游戏网上投注| 大发888娱乐城 真钱下载| 大发888缺少casino组件common| 大发888易付168| 瑞丰国际娱乐城| 台北市| 安陆市| 百家乐官网是不是有假| 百家乐官网网上公式| 百家乐官网最好的投注法| 百家乐官网电话投注怎么玩| 百家乐官网AG| 百家乐官网麻将牌| 百家乐摇色子网站| 澳门百家乐公试打法| 大发888最新信息| 博彩排名| 百家乐官网看炉子的方法| 百家乐乐城皇冠| 百家乐菲律宾| 顶级赌场 官方直营网络赌场| 宁陵县| 24山64卦分金| 顶尖百家乐的玩法技巧和规则|