STM32串口通信实验,在例程中 无法理解 定义的USART_RX_STA

2019-07-21 05:09发布

//接收状态
//bit15, 接收完成标志
//bit14, 接收到0x0d
//bit13~0, 接收到的有效字节数目
u16 USART_RX_STA=0;       //接收状态标记 
在例程中是这样定义的!
我搞不懂 USART_RX_STA只是一个变量    ,接收中断(接收到的数据必须是0x0d 0x0a结尾),如果只接收3个字节,下一次接收到0x0d ,那么是如何将USART_RX_STA 中bit14位 置1的?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
7条回答
it_do_just
2019-07-21 06:29
 楼主的C语言基础不怎么好啊,这段代码主要还是对位的操作,一个u16类型的变量可以做很多事,0~13bit用于保存字节“数目”,那总共可以保存最多2^14=16384个字节“数”,最后剩的两位一旦接收到0x0d用或对USART_RX_STA进行操作“USART_RX_STA|=0x4000”置位第15位,如果你不这样做,就需要定义三个变量,一个变量能做完的事你定义三个出来,岂不是浪费?

一周热门 更多>