chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

通信程序中,經(jīng)常使用環(huán)形緩沖區(qū)作為數(shù)據(jù)結構來存放通信中發(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)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

    解析其原理、特點、使用方法及注意事項,助你進階掌握這一關鍵技術。 一、流緩沖區(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ù)讀寫??磮D,隊列頭就是指向已經(jīng)存儲的數(shù)據(jù),并且這個數(shù)據(jù)是待處理的。下一個CPU處理的數(shù)據(jù)
    發(fā)表于 06-08 14:03

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

    是列隊頭的數(shù)據(jù),處理完了數(shù)據(jù),‘0’地址空間的數(shù)據(jù)進行釋放掉,列隊頭指向下一個可以處理數(shù)據(jù)的地址‘1’。從而實現(xiàn)整個環(huán)形緩沖區(qū)的數(shù)據(jù)讀寫??磮D,隊列頭就是指向已經(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ù)讀寫??磮D,隊列頭就是指向已經(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)資料下載的電子資料下載,更有其他相關的電路圖、源代碼、課件教程、中文資料、英文資料、參考設計、用戶指南、解決方案等資料,希望可以幫助到廣大的電子工程師們。
    發(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>資料下載

    [嵌入式開發(fā)模塊]單片機串口模塊:串口+定時器+環(huán)形緩沖區(qū) 實現(xiàn)無串口IDLE中斷接收不定長串口數(shù)據(jù)

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

    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ù)結構都學過隊列。環(huán)形隊列是隊列的一種特殊形式,應用挺廣泛的。因為有太多文章關于這方面的內(nèi)容,理論知識可以看別人的,下面寫得挺好的:STM32進階之串口環(huán)形緩沖區(qū)實現(xiàn)
    發(fā)表于 12-06 10:00 ?3587次閱讀

    環(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 ?2440次閱讀

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

    在此之前,我們來回顧一下隊列的基本概念:
    的頭像 發(fā)表于 02-21 09:29 ?2074次閱讀
    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 ?3124次閱讀
    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)狀結構。這種數(shù)據(jù)結構在處理流數(shù)據(jù)和實現(xiàn)數(shù)據(jù)緩存等場景中具有廣泛的應用。 環(huán)形緩沖區(qū)
    的頭像 發(fā)表于 11-09 11:21 ?3641次閱讀
    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 ?1563次閱讀
    分享一個嵌入式通用FIFO<b class='flag-5'>環(huán)形</b><b class='flag-5'>緩沖區(qū)</b><b class='flag-5'>實現(xiàn)</b>庫