91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 52KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2021-06-16
  • 語言: 其他
  • 標簽:

資源簡介

優化了 SerialPort類, 自己寫了一個RingBuffer 類, 兩個類結合用在串口收發上基本上是無敵了.

資源截圖

代碼片段和文件信息

#include?
#include?“CRingBuffer.h“

CRingBuffer::CRingBuffer(int?buffSize){
??m_writePos=0;
??m_readPos=0;
??m_dataLeng=0;//目前數據量
??m_buffsize=buffSize;
??m_pBuffer=(char*)malloc(buffSize+1);
??????memset(m_pBuffer0buffSize+1);
}

CRingBuffer::~CRingBuffer(){

??free(m_pBuffer);
}

int?CRingBuffer::Remain(void){

return?m_buffsize-m_dataLeng;?//剩下多少字節
}

int?CRingBuffer::GetDataCount(void){
??return?m_dataLeng;?//當前緩沖區有多少字節
}

int?CRingBuffer::PushData(char*?datint?len){

if(len<=0)?return?0;
???
?if?(m_dataLeng+len>m_buffsize)///溢出
?{
?CString?str;
?str.Format(“\n---RingBuffer?Over?Load?[%d]---“m_buffsize-m_dataLeng-len);
?TRACE(str);
?len=m_buffsize-m_dataLeng;
//?AfxMessageBox(str);
?}


if(m_writePos+len<=m_buffsize){
??memcpy(m_pBuffer+m_writePosdatlen);
??m_writePos+=len;
??if(m_writePos>=m_buffsize)
??m_writePos=0;//歸零
}else{

///超過一圈
int?wr1Leng=m_buffsize-m_writePos;
int?wr2Leng=m_writePos+len-m_buffsize-1;

memcpy(m_pBuffer+m_writePosdatwr1Leng);
memcpy(m_pBufferdat+wr1Lengwr2Leng);

m_writePos=wr2Leng;

}

?m_dataLeng+=len;////增加數據
???
??return?len;
}

int?CRingBuffer::PopData(char*?inBufint?len){

?int?readLen=len;//計算讀取了多少字節
?if(m_dataLeng<1?||?len<0?)?return?0;?///沒有可讀取的數據
???????
?if(len>m_dataLeng){
????????readLen=m_dataLeng;
?}


????if?(m_readPos+readLen????{
???????memcpy(inBufm_pBuffer+m_readPosreadLen);
???m_readPos+=readLen;
???m_dataLeng-=readLen;
???return?readLen;
}


?????int?rd1Leng=m_buffsize-m_readPos;
?int?rd2Leng=readLen-rd1Leng;


?memcpy(inBufm_pBuffer+m_readPosrd1Leng);

?????memcpy(inBuf+rd1Lengm_pBufferrd2Leng);
?m_readPos=rd2Leng;
?m_dataLeng-=readLen;

?return?readLen;?
}


?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2016-03-24?16:59??UART_Debug\
?????文件????????1885??2016-03-24?14:46??UART_Debug\CRingBuffer.cpp
?????文件?????????424??2016-03-24?14:46??UART_Debug\CRingBuffer.h
?????文件????????3651??2016-03-19?17:20??UART_Debug\ReadMe.txt
?????目錄???????????0??2016-03-24?08:48??UART_Debug\res\
?????文件????????1102??2016-03-24?16:36??UART_Debug\resource.h
?????文件????????1078??2016-03-24?08:48??UART_Debug\res\UART_Debug.ico
?????文件?????????402??2016-03-19?17:20??UART_Debug\res\UART_Debug.rc2
?????文件????????9161??2016-03-24?14:47??UART_Debug\SerialPort.cpp
?????文件????????1651??2016-03-24?14:48??UART_Debug\SerialPort.h
?????文件?????????212??2016-03-19?17:20??UART_Debug\StdAfx.cpp
?????文件????????1054??2016-03-19?17:20??UART_Debug\StdAfx.h
?????文件???????36232??2016-03-24?16:41??UART_Debug\UART_Debug.aps
?????文件????????1624??2016-03-24?16:58??UART_Debug\UART_Debug.clw
?????文件????????2119??2016-03-19?17:20??UART_Debug\UART_Debug.cpp
?????文件????????4498??2016-03-22?16:05??UART_Debug\UART_Debug.dsp
?????文件?????????543??2016-03-19?17:20??UART_Debug\UART_Debug.dsw
?????文件???????28672??2016-03-24?16:58??UART_Debug\UART_Debug.exe
?????文件????????1368??2016-03-19?17:20??UART_Debug\UART_Debug.h
?????文件???????74752??2016-03-24?16:59??UART_Debug\UART_Debug.ncb
?????文件???????48640??2016-03-24?16:59??UART_Debug\UART_Debug.opt
?????文件????????2056??2016-03-24?16:58??UART_Debug\UART_Debug.plg
?????文件????????6053??2016-03-24?16:41??UART_Debug\UART_Debug.rc
?????文件???????10914??2016-03-24?16:55??UART_Debug\UART_DebugDlg.cpp
?????文件????????1667??2016-03-24?16:53??UART_Debug\UART_DebugDlg.h

評論

共有 條評論