我做STM32 RS485通讯测试时发现用串口调试助手发送数据时前两个字节的数据STM32接受不到,比如我用串口调试助手发送00 01 00 03 00 02给STM32,STM32收到的是00 03 00 02 前两个数没了!!
如果我发送11 11 00 03 00 02那么STM32缓冲区里接受的是03 00 02
我晕啊!这是咋回事儿?那个大侠能帮解答下?
void USART3_IRQHandler(void)//串口2中断服务程序
{
u8 res;
u8 err;
if(USART_GetITStatus(USART3,USART_IT_RXNE)!=RESET)
{
if(USART_GetFlagStatus(USART3,USART_FLAG_NE|USART_FLAG_FE|USART_FLAG_PE))
err=1;//检测到噪音、帧错误或校验错误
else
err=0;
res=USART_ReceiveData(USART3);
if(err==0)
{
RS485_RX_BUFF[RS485_RX_CNT]=res;
RS485_RX_CNT++;
}
}
}