2019-07-21 02:36发布
mickey丶初夏 发表于 2019-4-19 16:18 有没有好点的接收字节的函数写法呢
Psheng 发表于 2019-4-19 15:10 就是一个等待时间的 i减到0 还没有接受数据就跳出
哆啦A梦p 发表于 2019-4-19 15:20 USART_FLAG_RXNE是接收寄存器非空标志位。我认为 while中对i的判断以及处理是为了防止接收寄存器一直非空而 ...
最多设置5个标签!
针对你现在的程序,简单修改了下
unsigned char uart_recByte(void)
{
uint16_t Data;
while(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)
{
USART_ClearITPendingBit(USART1, USART_IT_RXNE);
Data = USART_ReceiveData(USART1);
}
return Data;
}
这个时间是怎么来确定的呢,我发现在低波特率下,接收到的数据会丢失部分,增大i的值,数据就正常了
这个时间是怎么来确定的呢,我发现在低波特率下,接收到的数据会丢失部分,增大i的值,数据就正常了,而且去掉这个,单独判断接收标志位,也不能正常接收数据
一周热门 更多>