久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2102|回復(fù): 0
收起左側(cè)

環(huán)形buffer 環(huán)形數(shù)組等原理例程

[復(fù)制鏈接]
ID:344805 發(fā)表于 2018-6-4 17:00 | 顯示全部樓層 |閱讀模式
環(huán)形存儲原理:(用一個類來說明)環(huán)形buff是先進先出,有兩個指針,一個指示在尾部放數(shù)據(jù),一個指示在首部取出數(shù)據(jù),

最開始都在0的位置,比如用在串口接受一個數(shù)據(jù)時,并不馬上處理,用的時候再取出。



class RingBuffer
{
private:
uint8_t* Buffer;             //類似一個數(shù)組的指針
uint16_t Size;                 //數(shù)據(jù)大小
uint16_t BeginPos;        //頭部指針,實際并不是指針類型,算是一個標記
uint16_t EndPos;            //尾部指針,實際并不是指針類型,算是一個標記
uint8_t m_IsFull;            //buffer是否滿了


public:
void putchar(char ch)       //存一個數(shù)據(jù)
{
  Buffer[EndPos] = ch;        //存
  EndPos++;                        //指針加一

  if(EndPos>Size)          //存的指針超過數(shù)組size,則返回0位置

    {EndPos=0;}
}


uint8_t getchar(void)       //取一個數(shù)據(jù)
{
  uint8_t ch;                        
  ch = Buffer[BeginPos];       //取
  BeginPos++;                        //指針加一
  return ch;                           
}


void Ringisfull()                    //判斷環(huán)形buffer是否滿了
{
  if (BeginPos == EndPos)       //在最初始化狀態(tài)時,BeginPos =0,EndPos=0,

                                                  //比如:當Endpos跑滿一圈回到0,而BeginPos一直沒人來取數(shù)據(jù),那么兩者重合,buffer滿
                                                   //只有等BenginPos處被取走數(shù)據(jù),那么才能接著存。否則數(shù)據(jù)滿了還沒處理,是不能覆蓋的

m_IsFull = 1;                           
}
};

回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 成人黄色电影在线观看 | 日本三级网站在线 | 欧美舔穴 | 中文字幕在线观看一区 | 日韩成人在线视频 | 亚洲一区二区三区在线 | 亚洲一区二区三区在线视频 | 成人在线观 | 亚洲福利在线观看 | 亚洲国产成人精品女人久久久野战 | 日韩成人高清在线 | 九九热精品视频 | 国产一区二区三区在线视频 | 欧美一级片在线看 | 成人免费在线网 | 久草电影网 | 狠狠久久综合 | 一区二区三区久久久 | 成人国产免费视频 | 99热电影| 一区二区三区国产好 | 国产一区二区三区久久久久久久久 | 操操操日日日 | 久久国产精品久久久久久久久久 | 少妇性l交大片免费一 | 日韩一区二区成人 | 在线观看成人 | 精品福利一区 | 精品中文字幕一区二区三区 | 成av在线| 日日夜夜天天 | 青青草原综合久久大伊人精品 | 毛片链接 | av一区二区三区在线观看 | 久久999 | 最新中文字幕在线 | 操到爽| 日本h片在线观看 | 国产精品久久久久久久久免费樱桃 | 免费在线观看av网站 | 国产午夜三级一区二区三 |