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

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语言功底不好,求教各位怎么理解这个串口语句
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
xuande
1楼-- · 2019-10-16 05:39

已经在其他地方赋值了。
好像是串口中断里面。


sodermalm
2楼-- · 2019-10-16 05:42
你没有好好看原子哥的串口代码程序   里面注释都解释的很清楚
xuande
3楼-- · 2019-10-16 07:29
 精彩回答 2  元偷偷看……
奶茶小咪咪
4楼-- · 2019-10-16 07:46
谢谢,刚开始接触寄存器,感觉代码很陌生

一周热门 更多>