27,374
社区成员
发帖
与我相关
我的任务
分享
void USART1_IRQHandler(void)
{
u8 Res;
val = hc5951[0];
val2 = hc5951[1];
// if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)
// {
// USART_RX_BUF[byte_count]=USART_ReceiveData(USART1);//(USART1->DR);
// byte_count++;
// }
#if SYSTEM_SUPPORT_OS
OSIntEnter();
#endif
if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)
{
Res =USART_ReceiveData(USART1);
printf("%d",Res);
USART_RX_BUF[rCnt] = Res;
if(rCnt == 0) //??0xFF
{
if(0xFF != Res)
{
rCnt = 0;
}else
{
rCnt = 1;
printf("帧头1开始\r\n");
}
}
else if(rCnt == 1)
{
if(0x5A != Res)
{
rCnt = 0;
}else
{
rCnt = 2;
printf("帧头2开始\r\n");
}
}
else if(rCnt>1)
{
// printf("22222222");
if(Res == 0x5B)
{
printf("22222222");
rCnt++;
printf("%d\r\n",rCnt);
}
else
{
// rCnt = 0;
printf("%d\r\n",rCnt);
}
}
else if(rCnt == 3)
{
printf("帧尾结束1\r\n");
if(0x5C != Res)
{
rCnt = 0;
}
else
{
rCnt = 0;
printf("帧尾结束2\r\n");
}
}
}
#if SYSTEM_SUPPORT_OS
OSIntExit();
#endif
}
#endif