微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 串口实验中len=USART_RX_STA&0x3FFF,这个是怎么计算出长度的啊

串口实验中len=USART_RX_STA&0x3FFF,这个是怎么计算出长度的啊

时间:10-02 整理:3721RD 点击:
向大家请教个问题,串口实验中len=USART_RX_STA&0x3FFF,这个是怎么计算出长度的啊,谢谢

把STA的最高两位去掉就是j接收长度了
因为每接受到一个字节 就STA++

楼上说的对~USART_RX_STA是一个接受状态寄存器,其bit15表示接收完成标志,bit14表示接收到0X0D,这是个接收的协议,如果不懂,记住就好了~

感谢楼上解释,受教了。

USART_RX_STA是一个变量可以是8位的,也可以是16位的。以16位为例它的含义://bit15,        接收完成标志//bit14,        接收到0x0d
//bit13~0,        接收到的有效字节数目
和0x3fff与运算就是低14位的运算,因为每接收到一个有效字节会自动加1.

感谢,解释得很好

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top