在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內(nèi)不再提示

環(huán)形緩沖區(qū)的實現(xiàn)原理

西西 ? 來源:csdn ? 作者:野豬力量 ? 2020-03-22 10:03 ? 次閱讀

通信程序中,經(jīng)常使用環(huán)形緩沖區(qū)作為數(shù)據(jù)結(jié)構(gòu)來存放通信中發(fā)送和接收的數(shù)據(jù)。環(huán)形緩沖區(qū)是一個先進先出的循環(huán)緩沖區(qū),可以向通信程序提供對緩沖區(qū)的互斥訪問。

環(huán)形緩沖區(qū)的實現(xiàn)原理

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

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
收藏 人收藏

    評論

    相關(guān)推薦
    熱點推薦

    FreeRTOS進階使用之流緩沖區(qū):高效處理字節(jié)流的秘密武器

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

    STM32進階之串口環(huán)形緩沖區(qū)實現(xiàn)

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

    杰杰帶你解讀【機智云】環(huán)形緩沖區(qū)源碼

    ,人家既然能拿來做商業(yè)用,還是有很厲害的地方的,如果還不知道什么叫環(huán)形緩沖區(qū)環(huán)形隊列)的同學,請看——STM32進階之串口環(huán)形緩沖區(qū)
    發(fā)表于 07-17 14:58

    MCU進階之串口環(huán)形緩沖區(qū)實現(xiàn)

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

    STM32串口環(huán)形緩沖區(qū)實現(xiàn)

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

    STM32串口環(huán)形緩沖區(qū)實現(xiàn)方法

    STM32串口環(huán)形緩沖區(qū)實現(xiàn)
    發(fā)表于 12-24 07:30

    請問串口DMA+環(huán)形緩沖區(qū)如何實現(xiàn)不定長度的數(shù)據(jù)收發(fā)?

    請問串口DMA+環(huán)形緩沖區(qū)如何實現(xiàn)不定長度的數(shù)據(jù)收發(fā)?
    發(fā)表于 12-08 06:13

    STM32進階之串口環(huán)形緩沖區(qū)實現(xiàn)資料下載

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

    STM32進階之串口環(huán)形緩沖區(qū)實現(xiàn)

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

    STM32進階之串口環(huán)形緩沖區(qū)實現(xiàn)

    碼代碼的應該學數(shù)據(jù)結(jié)構(gòu)都學過隊列。環(huán)形隊列是隊列的一種特殊形式,應用挺廣泛的。因為有太多文章關(guān)于這方面的內(nèi)容,理論知識可以看別人的,下面寫得挺好的:STM32進階之串口環(huán)形緩沖區(qū)實現(xiàn)
    發(fā)表于 12-06 10:00 ?3365次閱讀

    環(huán)形緩沖區(qū)實現(xiàn)思路

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

    STM32進階之串口環(huán)形緩沖區(qū)實現(xiàn)

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

    STM32進階之串口環(huán)形緩沖區(qū)實現(xiàn)

    STM32進階之串口環(huán)形緩沖區(qū)實現(xiàn)
    的頭像 發(fā)表于 09-19 09:20 ?2817次閱讀
    STM32進階之串口<b class='flag-5'>環(huán)形</b><b class='flag-5'>緩沖區(qū)</b><b class='flag-5'>實現(xiàn)</b>

    C++環(huán)形緩沖區(qū)設計與實現(xiàn)

    的存儲空間。環(huán)形緩沖區(qū)的特點是其終點和起點是相連的,形成一個環(huán)狀結(jié)構(gòu)。這種數(shù)據(jù)結(jié)構(gòu)在處理流數(shù)據(jù)和實現(xiàn)數(shù)據(jù)緩存等場景中具有廣泛的應用。 環(huán)形緩沖區(qū)
    的頭像 發(fā)表于 11-09 11:21 ?2999次閱讀
    C++<b class='flag-5'>環(huán)形</b><b class='flag-5'>緩沖區(qū)</b>設計與<b class='flag-5'>實現(xiàn)</b>

    分享一個嵌入式通用FIFO環(huán)形緩沖區(qū)實現(xiàn)

    開源項目ringbuff ,是一款通用FIFO環(huán)形緩沖區(qū)實現(xiàn)的開源庫,作者MaJerle,遵循 MIT 開源許可協(xié)議。
    的頭像 發(fā)表于 10-23 16:20 ?1056次閱讀
    分享一個嵌入式通用FIFO<b class='flag-5'>環(huán)形</b><b class='flag-5'>緩沖區(qū)</b><b class='flag-5'>實現(xiàn)</b>庫
    主站蜘蛛池模板: 成人三级电影在线观看 | 交在线观看网站视频 | 亚洲情a成黄在线观看 | 天天碰夜夜| 久久久久久免费播放一级毛片 | 欧美日本一道免费一区三区 | 成人久久伊人精品伊人 | 琪琪午夜免费影院在线观看 | 色网址在线观看 | 日韩va亚洲va欧美va浪潮 | 久久亚洲精品国产亚洲老地址 | 波多野结衣在线观看一区二区 | 欧美午夜片 | 亚洲资源最新版在线观看 | 国产精品亚洲玖玖玖在线靠爱 | 5278欧美一区 | 国产久爱青草视频在线观看 | 免费午夜在线视频 | 久久久一本波多野结衣 | 好吊色视频988gao在线观看 | 手机在线观看a | 欧美一级看片a免费观看 | 色老头免费视频 | 伊人网综合在线 | 午夜手机福利视频 | 欧美jizzhd精品欧美4k | 久久伊人成人网 | 天天摸天天碰成人免费视频 | 亚洲一级毛片中文字幕 | 国产精品欧美久久久久天天影视 | 特黄aaaaa日本大片免费看 | 日本亚洲在线 | 成人午夜网站 | 美女一级毛片免费观看 | 韩国在线a免费观看网站 | 婷婷色九月综合激情丁香 | 欧美黄色录像视频 | 天天爽天天 | 日本一本视频 | 亚洲欧美在线一区 | 国产婷婷高清在线观看免费 |