if (USART_GetITStatus(UART4, USART_IT_RXNE ) != RESET)
{
int UART4RevIndex;
UART4_RevBuf[UART4RevIndex++] = USART_ReceiveData(UART4 );
if((UART4_RevBuf[0]==0x0A)&&(UART4_RevBuf[7]==0x0D))
{
mark=1;
}
else
{
mark=0;
UART4_RevBuf[8]={0};
}
}
菜鸟刚刚开始学习STM32,不知道怎样串口接收多个字节!!!如上程序,我用串口助手一次下发0A 00 01 01 01 01 01 0d,每次只能收到0A,并且感觉DR没有刷新,最后UART4_RevBuf[8]每个字节都是0A。求大神指点怎么回事。但是debug调试的时候,,用串口助手一个字节 一个字节发 最后 UART——REVBuf[8]就能收到所有数据。
|