代码如下:
使用官方的例程, UART1 接收数据, 接收完数据后会去执行其他耗时操作,会有几率导致串口接收数据丢包的情况吗,请教下,这种问题该如何处理?
while(1)
{
if(Ready)
{
dat = CH554UART1RcvByte( ); //程序死等,直到收到一个字节
printf("x%02X ",(UINT16)(dat) );
KMData[KMIndex] = dat;
if(KMIndex>=5)
{
//if( (KMData[KMIndex-1] == 127) && (KMData[KMIndex] == 254) )
if( (KMData[KMIndex] == 254) )
{
printf(" END\n");
KMIndex = 0;
if(KMData[0] == 2)
{
MouseData(KMData);
}
if(KMData[0] == 1)
{
KeyboardData(KMData);
}
memset(KMData,0,sizeof(KMData));
}
else
{
KMIndex++;
}
}
else
{
KMIndex++;
}