串口试验中 为什么(USART_RX_STA&0x80)==0就表示没接收完成数据

2019-10-14 23:31发布

为什么 (USART_RX_STA&0x80)==0表示接收数据未完成; if(USART_RX_STA&0x40)//接收到了0x0d,,,,这里接收到0x0d又是什么意思? 请问有相关的资料吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
11条回答
feel
2019-10-15 14:41
回复【3楼】 正点原子 : --------------------------------- 原子哥...    我最近才学这个,关于串口部分的通讯协议我认为算是看懂了。 但是还是遇到一些问题,我在MAIN里面利用串口接受一个字符当作开光用。发现不行。
遇到几个问题总结下: 软件调试的时候     一直开着HSE那个位置进不去....百度查询不到     硬件调试的时候     串口每次发送数据过来他每次都是获取到第一个字符串,第二个那些都没有。又卡在这里,所有没法设置到通讯完毕的标志位。就没法继续了。
实验问题: 串口发送一个Q,或者是W 控制一个U8 的KK 置为Q: 1 W:0 然后在循环下面写一个IF(kk){输出}else{关闭}
实际情况很神奇,系统运行提示的LED 会受到Q  和W的影响,Q就关闭了,W就闪。  而我要控制的PB05没有任何反应。






一周热门 更多>