主题:ETR232i中串口通信中有关定义 共有47494人关注过本帖 |
---|
longquan |
1楼 |
![]() |
ETR232i中串口通信中有关定义 ![]()
int PutOutputData( char abyte )
int PutInputData( char abyte ) int GetInputData( ) int GetOutputData( ) 四个函数中有部分的定义不是很清楚, 如int PutOutputData( char abyte ) {    unsigned int Idx;    if( OBufGetIdx == 0 ) Idx = BUF_SIZE - 1;    else                  Idx = OBufGetIdx - 1;    if( OBufPutIdx == Idx ) return -1;    OutputBuf[OBufPutIdx] = abyte;    OBufPutIdx = ( OBufPutIdx + 1 ) % BUF_SIZE;    return 0; } 其中OBufGetIdx、OBufPutIdx是定义初始化为0,两个变量它们是什么意义? |
单帖管理 | 引用 | 回复 ![]() |
zhl |
2楼 |
![]() |
![]()
串口收发的数据放入环形的BUFFER中, GetIdx 和PutIdx用于管理环形Buffer用的。其中GetIdx记录从Buffer取数的Idx, PutIdx记录数据放入Buffer的Idx。
|
单帖管理 | 引用 | 回复 ![]() |