SIGNAL(SIG_UART1_RECV)                              //不明白??
{
    UART1_RxBuf[Rx1_Point]=inp(UDR1);                  //不明白??
    if(Rx1_Point==0)                                     //如果Rx1_Point=0
    {                                                  //那就是
        Rx1_Checksum=0;                                       // Rx1_Checksum=0
        Rx1_Length=UART1_RxBuf[Rx1_Point];                    // Rx1_Length=UART1_RxBuf[Rx1_Point]
        Rx1_Point++;                                          // Rx1_Point= Rx1_Point +1
        return;                                         函数的结果返回 
    }                                                   //如果上面的Rx1_Point=0不成立,则执行下面的,
    if(Rx1_Point==(Rx1_Length+1))                         //即如果Rx1_Point不等于0并且Rx1_Point==(Rx1_Length+1)
    {                                                   //那就是
        if(Rx1_Checksum==UART1_RxBuf[Rx1_Point])               //如果Rx1_Checksum==UART1_RxBuf[Rx1_Point]
            Rx1_end=1;                                               // 就Rx1_end=1
        Rx1_Point=0;                                            //不明白??这个结果是对应那个如果出来的??
        return;                                          //函数的结果返回
    }                                                    //二个如果都不成立的情况下,则执行下面三行
    Rx1_Checksum+=UART1_RxBuf[Rx1_Point];              //Rx1_Checksum+=UART1_RxBuf[Rx1_Point]
    Rx1_Checksum&=0xff;                                 // Rx1_Checksum&=0xff
    Rx1_Point++;                                         // Rx1_Point+1
}
第一、二、十五行是什么意思?
每一次RETURN的时候,是都把Rx1_Point、Rx1_Length、Rx1_Point的值都保留下来?以方便以后调用还是说返回的是空的值?
上面的解释有没有错误?请指正。因为我才刚刚学,好多地方都不明白,所以可能有些地方把程序的意义弄错。
[此贴子已经被作者于2006-10-19 13:32:32编辑过]



 
											





 
	    

 
	
