设为首页 - 加入收藏 - 网站地图 我爱嵌入式(www.52embed.com),专注嵌入式开发技术!
当前位置:主页 > 嵌入式软件 > 正文

C8051F单片机内实现FIFO操作,提高单片机处理能力

时间:2017-05-21 15:19 来源:未知 作者:admin 阅读:

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





 

(责任编辑:admin)

顶一下
(0)
0%
踩一下
(0)
0%
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。