与AS608握手失败,求大佬看看?

主函数(部分)(已经卡在这里了),


int main(void)
{	
	u8 key;
	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //中断优先级分组
	PS_StaGPIO_Init();
	delay_init(168);  //初始化延时函数
	LED_Init();
	KEY_Init();
  uart_init(115200);
	usart2_init(usart2_baund);
	RS485_Init();		//初始化RS485串口2
	//BEEP_Init();
	while(PS_HandShake(&AS608Addr))//与AS608模块握手
	{
		delay_ms(1000);  
		printf("未检测到指纹模块!!!\r\n");
		printf("尝试连接指纹模块!!!\r\n");
		delay_ms(1000);  	
	}

握手部分的代码:

//与AS608握手 PS_HandShake
//参数: PS_Addr地址指针
//说明: 模块返新地址(正确地址)	
u8 PS_HandShake(u32 *PS_Addr)
{
	SendHead();
	SendAddr();
	MYUSART_SendData(0X01);
	MYUSART_SendData(0X00);
	MYUSART_SendData(0X00);	
	delay_ms(200);
	if(USART2_RX_STA&0X8000)//接收到数据
	{		
		printf("接收到信号\n");
		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;					
	}
	printf("%d: %d: %d: \n",USART2_RX_BUF[0],USART2_RX_BUF[1],USART2_RX_BUF[6]);
	return 1;		
}

 握手部分第一个if就进不去了

代码as608.c和.h还有usart都是用的正点原子的。接线是按资料连得,AS608的TX,RX分别接单片机的RX,TX,但灯不亮,用上位机软件测试的时候灯会亮,但是也连不上。

 做毕设,有大佬帮看下嘛,感激不尽

请问解决了吗,我也遇到了同样的问题