下载贤集网APP入驻自媒体
1、首先定义一个串口数据接收缓存;
2、在串口中断中,增加HF标记,HF=1,HF=2分别对应FIFO的半满和全满;
3、在半满和全满标记为1时,对接收的数据进行存储。
unsigned char xdata RS0_Buf[512];
uchar RX0_HF = 0;
void UART0(void) interrupt 4
{
static uint iRsBuf1Idx0 = 0;
SFRPAGE=UART0_PAGE;
if(RI0)
{
RI0=0;
RS0_Buf[iRsBuf1Idx0++] = SBUF0;
if(iRsBuf1Idx0==256)
{
RX0_HF=1;
}
else if(iRsBuf1Idx0>=512)
{
RX0_HF=2;
iRsBuf1Idx0 = 0;
}
}
}
主程序:
main()
{
initial();
while(1)
{
if(RX0_HF)
{
if(RX0_HF==1)
{
//do something
}
else if(RX0_HF==2)
{
//do something
}
} //if
} //whlie
} //main