女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

完善資料讓更多小伙伴認(rèn)識你,還能領(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ū)是一個先進(jìn)先出的循環(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ū)的讀用戶僅僅會影響讀指針,而寫用戶僅僅會影響寫指針。如果僅僅有一個讀用戶和一個寫用戶,那么不需要添加互斥保護(hù)機(jī)制就可以保證數(shù)據(jù)的正確性。如果有多個讀寫用戶訪問環(huán)形緩沖區(qū),那么必須添加互斥保護(hù)機(jī)制來確保多個用戶互斥訪問環(huán)形緩沖區(qū)。

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

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

    評論

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

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

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

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

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

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

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

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

    是列隊頭的數(shù)據(jù),處理完了數(shù)據(jù),‘0’地址空間的數(shù)據(jù)進(jìn)行釋放掉,列隊頭指向下一個可以處理數(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ù)進(jìn)行釋放掉,列隊頭指向下一個可以處理數(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進(jìn)階之串口環(huán)形緩沖區(qū)實現(xiàn)資料下載

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    開源項目ringbuff ,是一款通用FIFO環(huán)形緩沖區(qū)實現(xiàn)的開源庫,作者M(jìn)aJerle,遵循 MIT 開源許可協(xié)議。
    的頭像 發(fā)表于 10-23 16:20 ?1003次閱讀
    分享一個嵌入式通用FIFO<b class='flag-5'>環(huán)形</b><b class='flag-5'>緩沖區(qū)</b><b class='flag-5'>實現(xiàn)</b>庫