在调试stm32f407时,通过串口助手发送“#”给串口1,串口1输出制定数据。程序一:
if((SET==USART_GetFlagStatus(USART1,USART_FLAG_RXNE))&(USART_ReceiveData(USART1)==0x23))
{
printf("asd");
}
程序二:
if((SET==USART_GetFlagStatus(USART1,USART_FLAG_RXNE)))
{
if((USART_ReceiveData(USART1)==0x23))
{
printf("asd");
}
}
我实际使用时,程序二可以很好的实现串口助手输入一次“#”(即0x23),输出一次“asd”;而程序一缺会出现丢失数据状况,偶尔输入“#”确没有输出“asd”。
求问。
@正点原子
一周热门 更多>