1 串口写数据的问题
下面这个问题,我们搞了接近1星期. 能正常运行,但是有风险.
关键字: ARM9
Uart
115200
大数据Buff //用的9100
发送数据固定大小28Byte //24-32可以接受, 大了不行,小了不行
发送数据期间不能有任何的多余操作 //有了多余的操作,占用了CPU时间也不行
写关键数据代码:
const int senddatalen=28;
unsigned char bigbuff[10000];
unsigned cahr smallbuff[28];
.....//给bigbuff设置数据
for(i=0; i<buffsize; i+=senddatalen)
{
for(j=0;j<senddatalen;j++)
smallbuff[j] = bigbuff[i+j]; // big data --> small buff
write(fdUart, smallbuff, senddatalen); //这里如果用 bigbuff+i, 会出现问题同步问题, 估计是丢数据了.
usleep(2); //留些时间给uart控制器, 不可太长, 在115200间隙
}
--------------------------------------------------------------------------------------------------------------------------------------------------