uart过来数据不够,组包
来源:互联网 发布:aaa云主机怎么绑定域名 编辑:程序博客网 时间:2024/05/21 15:43
unsigned char aParsBuf[MAX_SIZE/2] = {0};
int iDex=0,iSaveDex=0,iGetDex=0,iGetCnt=0;
count = read(fd, buf, 512);
if(count)
{
if((iSaveDex+count)<MAX_SIZE)
{
memcpy(aTmpBuf+iSaveDex,buf,count);
iSaveDex+=count;
printf("iDex:%d, count:%d\n",iSaveDex, count);
/*printf("rev buf \n");
for(i=0;i<count;i++)
{
printf("%02x ",aTmpBuf[iSaveDex-count+i]);
}
printf("\n");*/
}else
{
memcpy(aTmpBuf+iSaveDex,buf,(MAX_SIZE-iSaveDex));
//iSaveDex=0;
memcpy(aTmpBuf,buf+(MAX_SIZE-iSaveDex),(count-(MAX_SIZE-iSaveDex)));
iSaveDex=count-(MAX_SIZE-iSaveDex);
}
//printBuf(aTmpBuf,iSaveDex);
/*printf("aTmpBuf buf \n");
for(i=0;i<iSaveDex;i++)
{
printf("%02x ",aTmpBuf[i]);
}
printf("\n");*/
printf("iSaveDex %d ,iGetDex %d \n",iSaveDex,iGetDex);
//if(((iSaveDex-iGetDex)>32)||(iSaveDex-iGetDex)<0)
if(((iSaveDex-iGetDex)>MAX_SIZE/32)||((iSaveDex-iGetDex)<0&&((MAX_SIZE+iSaveDex-iGetDex)>MAX_SIZE/32)))
{
if((0xff==aTmpBuf[iGetDex%MAX_SIZE])&&(0xff==aTmpBuf[(iGetDex+1)%MAX_SIZE]))//&&(0xff==aTmpBuf[aTmpBuf[iGetDex+2]+6]))
{
iGetCnt=aTmpBuf[(iGetDex+2)%MAX_SIZE]+6;
if((iGetDex+iGetCnt)<MAX_SIZE)
{
memcpy(aParsBuf,aTmpBuf+iGetDex,iGetCnt);
iGetDex+=iGetCnt;
}
else
{
memcpy(aParsBuf,aTmpBuf+iGetDex,(MAX_SIZE-iGetDex));
memcpy(aParsBuf+(MAX_SIZE-iGetDex),aTmpBuf,(iGetCnt-(MAX_SIZE-iGetDex)));
iGetDex=iGetCnt-(MAX_SIZE-iGetDex);
}
printf("iGetCnt is %d \n",iGetCnt);
printBuf(aParsBuf,iGetCnt);
int back = g_CalcUartIf(aParsBuf, iGetCnt, uartBuf, &msgSize);
printf("back:%d\n", back);
}
else
{
}
}
}
- uart过来数据不够,组包
- 关于产品经理,看一遍不够,转载过来天天看。
- UART数据收发波形
- tiny4412 UART 收发数据
- 示波器分析UART串口数据
- CC2540 UART数据失真分析
- 示波器分析UART串口数据
- 不够
- “我这项目人手不够,把人给我带过来!”
- 重复数据删除技术精细度不够
- 数据不够大,别玩深度学习?
- UART
- UART
- UART
- UART
- UART
- UART
- UART
- C++管理指针成员
- 通过抽象工厂模式再理解java的上转型
- linux中的sleep
- C++顺序容器vector、deque、list
- 纯python实现的web: tornado性能测试以及实际使用解析
- uart过来数据不够,组包
- 软件开发过程学习笔记(六)之测试报告模板
- 单例模式
- Oracle高版本dmp导入到低版本
- 数字信号处理公式变程序(四)——巴特沃斯滤波器(下)
- abstract factory(抽象工厂) 对象创建型模式
- 类String的构造函数、析构函数和赋值函数
- 70天复习一次通过信息系统项目管理师考试经验和心得
- 句柄