国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

環形緩沖區的實現原理

西西 ? 來源:csdn ? 作者:野豬力量 ? 2020-03-22 10:03 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

通信程序中,經常使用環形緩沖區作為數據結構來存放通信中發送和接收的數據。環形緩沖區是一個先進先出的循環緩沖區,可以向通信程序提供對緩沖區的互斥訪問。

環形緩沖區的實現原理

環形緩沖區通常有一個讀指針和一個寫指針。讀指針指向環形緩沖區中可讀的數據,寫指針指向環形緩沖區中可寫的緩沖區。通過移動讀指針和寫指針就可以實現緩沖區的數據讀取和寫入。在通常情況下,環形緩沖區的讀用戶僅僅會影響讀指針,而寫用戶僅僅會影響寫指針。如果僅僅有一個讀用戶和一個寫用戶,那么不需要添加互斥保護機制就可以保證數據的正確性。如果有多個讀寫用戶訪問環形緩沖區,那么必須添加互斥保護機制來確保多個用戶互斥訪問環形緩沖區。

圖1、圖2和圖3是一個環形緩沖區的運行示意圖。圖1是環形緩沖區的初始狀態,可以看到讀指針和寫指針都指向第一個緩沖區處;圖2是向環形緩沖區中添加了一個數據后的情況,可以看到寫指針已經移動到數據塊2的位置,而讀指針沒有移動;圖3是環形緩沖區進行了讀取和添加后的狀態,可以看到環形緩沖區中已經添加了兩個數據,已經讀取了一個數據。

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

    關注

    0

    文章

    14

    瀏覽量

    8679
  • 數據結構
    +關注

    關注

    3

    文章

    573

    瀏覽量

    41529
  • 環形緩沖
    +關注

    關注

    0

    文章

    3

    瀏覽量

    1598
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    FreeRTOS進階使用之流緩沖區:高效處理字節流的秘密武器

    解析其原理、特點、使用方法及注意事項,助你進階掌握這一關鍵技術。 一、流緩沖區是什么?為什么需要它? 流緩沖區是FreeRTOS中基于環形緩沖區實現
    發表于 03-24 11:37

    STM32進階之串口環形緩沖區實現

    完了數據,‘0’地址空間的數據進行釋放掉,列隊頭指向下一個可以處理數據的地址‘1’。從而實現整個環形緩沖區的數據讀寫。看圖,隊列頭就是指向已經存儲的數據,并且這個數據是待處理的。下一個CPU處理的數據
    發表于 06-08 14:03

    MCU進階之串口環形緩沖區實現

    是列隊頭的數據,處理完了數據,‘0’地址空間的數據進行釋放掉,列隊頭指向下一個可以處理數據的地址‘1’。從而實現整個環形緩沖區的數據讀寫。看圖,隊列頭就是指向已經存儲的數據,并且這個數據是待處理的。下一個
    發表于 08-17 13:11

    STM32串口環形緩沖區實現

    是列隊頭的數據,處理完了數據,‘0’地址空間的數據進行釋放掉,列隊頭指向下一個可以處理數據的地址‘1’。從而實現整個環形緩沖區的數據讀寫。看圖,隊列頭就是指向已經存儲的數據,并且這個數據是待處理
    發表于 10-16 11:40

    STM32串口環形緩沖區實現方法

    STM32串口環形緩沖區實現
    發表于 12-24 07:30

    請問串口DMA+環形緩沖區如何實現不定長度的數據收發?

    請問串口DMA+環形緩沖區如何實現不定長度的數據收發?
    發表于 12-08 06:13

    STM32進階之串口環形緩沖區實現資料下載

    電子發燒友網為你提供STM32進階之串口環形緩沖區實現資料下載的電子資料下載,更有其他相關的電路圖、源代碼、課件教程、中文資料、英文資料、參考設計、用戶指南、解決方案等資料,希望可以幫助到廣大的電子工程師們。
    發表于 04-20 08:46 ?14次下載
    STM32進階之串口<b class='flag-5'>環形</b><b class='flag-5'>緩沖區</b><b class='flag-5'>實現</b>資料下載

    [嵌入式開發模塊]單片機串口模塊:串口+定時器+環形緩沖區 實現無串口IDLE中斷接收不定長串口數據

    前言本周看了些代碼模塊化和代碼框架抽象分層的知識,現在嘗試將手里代碼重新整理成模塊,方便以后業務開發。現在摸索了兩天,在網上看了些別人的文章和代碼,初步整理好了第一版(2019.12.6)。MCU: 華大的MCU HC32F030K8TA,其內核是Cortex-M0+,8KRAM,64KROM。編程環境:keil5模塊分析介紹這款MCU的性能一般,功能較少,目前想要讓其外接一個通信模塊...
    發表于 11-06 11:21 ?10次下載
    [嵌入式開發模塊]單片機串口模塊:串口+定時器+<b class='flag-5'>環形</b><b class='flag-5'>緩沖區</b> <b class='flag-5'>實現</b>無串口IDLE中斷接收不定長串口數據

    STM32進階之串口環形緩沖區實現

    在此之前,我們來回顧一下隊列的基本概念:隊列 (Queue):是一種先進先出(First In First Out ,簡稱 FIFO)的線性表,只允許在一端插入(入隊),在另一端進行刪除(出隊)。
    發表于 02-09 11:58 ?7次下載
    STM32進階之串口<b class='flag-5'>環形</b><b class='flag-5'>緩沖區</b><b class='flag-5'>實現</b>

    STM32進階之串口環形緩沖區實現

    碼代碼的應該學數據結構都學過隊列。環形隊列是隊列的一種特殊形式,應用挺廣泛的。因為有太多文章關于這方面的內容,理論知識可以看別人的,下面寫得挺好的:STM32進階之串口環形緩沖區實現
    發表于 12-06 10:00 ?3817次閱讀

    環形緩沖區實現思路

    單片機程序開發一般都會用到UART串口通信,通過通信來實現上位機和單片機程序的數據交互。通信中為了實現正常的收發,一般都會有對應的發送和接收緩存來暫存通信數據。這里使用環形緩沖區的方式
    的頭像 發表于 01-17 15:07 ?2911次閱讀

    STM32進階之串口環形緩沖區實現

    在此之前,我們來回顧一下隊列的基本概念:
    的頭像 發表于 02-21 09:29 ?2350次閱讀
    STM32進階之串口<b class='flag-5'>環形</b><b class='flag-5'>緩沖區</b><b class='flag-5'>實現</b>

    STM32進階之串口環形緩沖區實現

    STM32進階之串口環形緩沖區實現
    的頭像 發表于 09-19 09:20 ?3481次閱讀
    STM32進階之串口<b class='flag-5'>環形</b><b class='flag-5'>緩沖區</b><b class='flag-5'>實現</b>

    C++環形緩沖區設計與實現

    的存儲空間。環形緩沖區的特點是其終點和起點是相連的,形成一個環狀結構。這種數據結構在處理流數據和實現數據緩存等場景中具有廣泛的應用。 環形緩沖區
    的頭像 發表于 11-09 11:21 ?3997次閱讀
    C++<b class='flag-5'>環形</b><b class='flag-5'>緩沖區</b>設計與<b class='flag-5'>實現</b>

    分享一個嵌入式通用FIFO環形緩沖區實現

    開源項目ringbuff ,是一款通用FIFO環形緩沖區實現的開源庫,作者MaJerle,遵循 MIT 開源許可協議。
    的頭像 發表于 10-23 16:20 ?1959次閱讀
    分享一個嵌入式通用FIFO<b class='flag-5'>環形</b><b class='flag-5'>緩沖區</b><b class='flag-5'>實現</b>庫