ox8000代表什么意思,怎么来的?

2019-10-16 06:28发布

USART_RX_STA&0x8000
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
南有乔木
1楼-- · 2019-10-17 08:41
刚学完这里,0x8000 0000的二进制码1000 0000 0000 0000 ,而USART_RX_STA&0x8000就是判断USART_RX_STA最高位是不是1,(USART_RX_STA是由自己定义的16位标志符)。在定义USART_RX_STA时,就确定了其15、14为状态标志位(建议再看一遍视频和PPT),当第十五位为1时,就设置收到了0x0a(换行,在ASCII码中,换行是0x0a 回车是0x0d。
建议楼主理解下,为什么一定换行 回车的概念。。
多读几遍,不懂的话我可以把我注释的程序发给你
wqs6050626
2楼-- · 2019-10-17 11:42
 精彩回答 2  元偷偷看……
wqs6050626
3楼-- · 2019-10-17 12:03
STM32基础篇 发表于 2016-12-1 15:45
0x8000就是1000 0000 0000 0000,
USART_RX_STA与之想与,得到的是1000 0000 0000 0000或0000 0000 0000 0 ...

谢谢
feilusia
4楼-- · 2019-10-17 17:47
基础有点薄弱了,0xFFFF,一共是32bit的字节,对应于一个寄存器,每个bit对应一个寄存器位。
0x8000就是指这个寄存器的第31bit,“USART_RX_STA&0x8000”就是用来获得USART_RX_STA这个寄存器的第31bit的数值是0还是非0。
wqs6050626
5楼-- · 2019-10-17 18:56
feilusia 发表于 2016-12-1 16:38
基础有点薄弱了,0xFFFF,一共是32bit的字节,对应于一个寄存器,每个bit对应一个寄存器位。
0x8000就是指 ...

弄懂了,谢谢

一周热门 更多>