u8 buffer[3]; //¶¨òå′®¿ú»o3å½óêÕêy×é
u8 rec_flag=0; //¶¨òå′®¿ú½óêÕ±êÖ¾
void USART1_IRQHandler(void) //′®¿ú1ÖD¶Ï·tÎñ3ìDò
{
u8 Res;
static u8 i;
// if(USART_GetFlagStatus(USART1, USART_FLAG_RXNE)==1)
if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)
{
GPIO_ResetBits(GPIOC, GPIO_Pin_0);
// Res =USART_ReceiveData(USART1);
USART_ClearFlag(USART1,USART_FLAG_RXNE);
// USART_SendData(USART1,Res);
if(rec_flag==0)
{
// USART_SendData(USART1,rec_flag);
// GPIO_ResetBits(GPIOC, GPIO_Pin_1);
if(USART_ReceiveData(USART1)==0xff)
{
GPIO_ResetBits(GPIOC, GPIO_Pin_1);
rec_flag=1;
// USART_SendData(USART1,rec_flag);
i=0;
}
}
else
{
if(USART_ReceiveData(USART1)==0xff)
{
rec_flag=0;
// USART_SendData(USART1,rec_flag);
if(i==3)
{
// Communication_Decode();
if(buffer[0]==0x00)//êÖ¶ˉ¿ØÖÆ
{
// GPIO_SetBits(GPIOC,GPIO_Pin_0);
switch(buffer[1])
{
case 0x01:GPIO_ResetBits(GPIOC, GPIO_Pin_1);break;//Ç°½ø
}
}
}
i=0;
}
else
{
buffer=USART_ReceiveData(USART1);
i++;
}
}
}
else
{
USART_ClearFlag(USART1,USART_FLAG_LBD);
}
[/mw_shl_code]
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>