void ReciveCmd(_DataInfo *pScr)
{
int i, CheckSum;
if(RS485Flag==2)
{
RS485Flag=0;
ClearRevBuff(COM2);
GPIO_SetBits(GPIOB,GPIO_Pin_5); //½øÈë·¢ËÍģʽ
send_data_uart2(0x02);
while (USART_GetFlagStatus(USART2,USART_FLAG_TC) !=SET); //ÂÖѯֱµ½·¢ËÍÊý¾ÝÍê±Ï
GPIO_ResetBits(GPIOB,GPIO_Pin_5); //½øÈë½ÓÊÕģʽ
}
void USART2_IRQHandler(void)
{
int res ;
if((USART_GetITStatus(USART2, USART_IT_RXNE) != RESET)) //½ÓÊÕµ½Êý¾Ý
{
res=USART_ReceiveData(USART2);
Uart_PushData(2,res);
if(UartPro[2].Reveive_Uuff[0]==0x7e)
{
if(UartPro[2].Reveive_Uuff[1]==0x7d)
{
if(UartPro[2].Reveive_Uuff[3]==0x00)
RS485Flag=1;
else if (UartPro[2].Reveive_Uuff[3]==0x01)
RS485Flag=2;
}
}
} |