新手入门
- 积分
- 17
- 金钱
- 17
- 注册时间
- 2016-1-13
- 在线时间
- 4 小时
|
发表于 2016-1-14 10:09:22
|
显示全部楼层
原子哥,帮我看一下,只能接收一个字节,我参考教程,接收36字节的数据,第一个字节是0xB5,第二个字节是0x62
if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET) //接收中断
{
USART_ClearFlag(USART1,USART_FLAG_RXNE); //清除中断标志
Res =USART_ReceiveData(USART1);//(USART1->DR); //读取接收到的数据
if ((Res == 0xB5) && (USART_RX_STA == 0))
{
USART_RX_BUF[USART_RX_STA] = Res;
USART_RX_STA++;
}
else if ((Res == 0x62) && (USART_RX_STA == 1))
{
USART_RX_BUF[USART_RX_STA] = Res;
USART_RX_STA++;
}
else
{
if ((USART_RX_STA >= 2) && (USART_RX_STA < 36))
{
USART_RX_BUF[USART_RX_STA] = Res;
USART_RX_STA++;
}
else
{
USART_RX_STA=0;
}
}
}
}
|
|