求解AS608的握手一直不成功

2019-07-20 01:48发布

我打印了USART2_RX_STA&0X8000的值,一直都是0,不管是在If内还是If外,如果把握手这个函数注销的话,整个模块又可以运行
想了很久也不知道为什么,求各位大神能给个正解参考参考,谢谢了


[mw_shl_code=c,true]u8 PS_HandShake(u32 *PS_Addr)
{
        SendHead();
        SendAddr();
        MYUSART_SendData(0X01);
        MYUSART_SendData(0X00);
        MYUSART_SendData(0X00);       
        delay_ms(200);
        printf(" %d",USART2_RX_STA&0X8000);
        if(USART2_RX_STA&0X8000)
        {               
               
                if(
                                        USART2_RX_BUF[0]==0XEF
                                &&USART2_RX_BUF[1]==0X01
                                &&USART2_RX_BUF[6]==0X07
                        )
                        {
                                *PS_Addr=(USART2_RX_BUF[2]<<24) + (USART2_RX_BUF[3]<<16)
                                                                +(USART2_RX_BUF[4]<<8) + (USART2_RX_BUF[5]);
                                USART2_RX_STA=0;
                                return 0;
                        }
                USART2_RX_STA=0;                                       
        }
        return 1;               
}[/mw_shl_code]
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。