串口通信USART_RX_STA

2019-08-13 21:34发布

STM32F1的UARST通信,为什么需要写一个USART_RX_STA的通信协议

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
taizonglai
1楼-- · 2019-08-14 01:33
USART_RX_STA主要是用来判断串口接收是否完成,判断有没有接收到" ",这是回车换行符,如果接收到了就认为接收完成。这种方法主要用来接收不定长数据!如果直接接收的话你怎么知道一次发送完成了?当然了,也可以使用其它方法接收不定长数据。比如串口的IDLE中断+DMA的方式。
enan
2楼-- · 2019-08-14 02:18
USART_RX_STA这个字面理解是串口_接受_状态,能有什么用?
lhouni
3楼-- · 2019-08-14 05:56
在串口实验中,中断服务函数为什么要加一个判断(图1),而不是直接接受、发送(图2)

MrXiong
4楼-- · 2019-08-14 09:30
 精彩回答 2  元偷偷看……
924583269
5楼-- · 2019-08-14 09:40

添加USART_RX_STA

添加USART_RX_STA

串口输出结果

串口输出结果

请教下,我在main函数里面的打印输出地方添加了USART_RX_STA的值,然后向串口发送a后,USART_RX_STA输出为49153。这个值让我很困惑,在usart.c里面,执行了“if(USART_RX_STA>(USART_REC_LEN-1))USART_RX_STA=0;“这句后,USART_RX_STA的值就不会超过USART_REC_LEN-1了呀,也就是199.为什么会变成49153呢?
6874577
6楼-- · 2019-08-14 15:11
为什么会变成49153呢?   49 是什么

一周热门 更多>