huasanshao0206 发表于 2013-11-6 10:04   
如果只是i的问题的话,发“01 02 03 04”的时候BUFFER应该是04而不是01,LZ再研究一下时序吧,在接收之间加 ...  
我发“01 02 03 04”的时候 是不是01中断一次 然后存入BUFFER[0] 然后02 再中断一次此时i=0 再次存入BUFFER[0]中。我现在有个问题是这样的,我想把RX_Buffer中的数据存入TX_BUFFER里 
interrupt ISR (void)        //中断函数 
{         
        if(RCIE&&RCIF)        //判断是否为uart接收中断 
        { 
                RX_Buffer[i++]=RCREG; 
        } 
} 
i是定义的全局变量volatile unsigned char i=0 
主函数内容是: 
if(i!=0) 
{ 
    unsigned char c; 
    for(c=0;c<=i;c++) 
    { 
      TX_BUFFER[c]= RX_Buffer[c];    
    } 
    i=0; 
} 
比如我发"01 02 03 04" 无法将RX_Buffer与TX_BUFFER对应存储起来,如何能够把所有的’01 02 03 04‘都读入RX_Buffer之后,再将RX_Buffer付给TX_BUFFER?
 |