如何利用cnComm的串口?
如何利用cnComm的串口?
上一篇文章的案例,即有一个以'/x2'开头、一个以'/x3'结束的的数据报的接收,以下是另一种方案
源代码:(注未经测试,请注意看思路)
class MyComm : public cnComm
{
void OnReceive()
{
char buffer[1024];
static char data[1024];//数据报暂时存储
static data_index;//指针索引
static bool find_flag = false;//查找标志
int len = Read(buffer, 1024);
for(int i=0; i<len; i++)
{
if(!flag)//没有找到标志头
{
if(buffer[i] == '/x2')找到开始标志
{
flag = true;
data_index = 0;
}
}
if(flag)
{
data[data_index++]= buffer[i];//拷贝相应的数据
if(buffer[i] == '/x3')
{
flag = false;//结束标志
}
}
}
}
};