代碼如下:
????使用官方的例程, UART1 接收數(shù)據(jù), 接收完數(shù)據(jù)后會去執(zhí)行其他耗時(shí)操作,會有幾率導(dǎo)致串口接收數(shù)據(jù)丟包的情況嗎,請教下,這種問題該如何處理?
while(1)
? ? {
? ? ? ?if(Ready)
? ? ? ?{
dat = CH554UART1RcvByte( );? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//程序死等,直到收到一個(gè)字節(jié)
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++;
}