串口寄存器调试程序,里边这一句怎么理解?

2019-10-16 00:25发布



u16 USART_RX_STA=0;       //接收状态标记


if (USART_RX_STA&0X8000)

{
     len=USART_RX_STA&0X3fff;//得到此次接受到的数据长度

    printf("        ");
}


从这句里边看,USART_RX_STA是一个U16类型的0,

0和0x8000按位与,结果不是0吗?如果是0的话应该不会进入这个IF语句。。。。

C语言功底不好,求教各位怎么理解这个串口语句
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。