在使用stm32的时候,写了一段程序如下
if(((USART1->DR & 0x01FF)==0x0008))
{
printf("\n\r接受成功\n");
USART1->DR&=0x00000000;
}
else
{
printf("\n\r接受失败\n");
}
Delay(0x2FFFFF);
我要的结果是,当通过串口发一个0x08后,显示接受成功,然后,DR值被改变,接着显示接受失败
但是实际上,当通过串口发一个0x08后,一直显示接受成功,不会显示显示接受失败
求解释,同时,如何实现“当通过串口发一个0x08后,显示接受成功,然后,DR值被改变,接着显示接受失败”这个功能 |