有个小问题 关于位操作

2019-07-21 07:13发布

在配置odr寄存器的时候:
想拉高PE2~4 我这么写  GPIOE->ODR |= 0x00011100; 为啥不对

而这么写的话又是对的 GPIOE->ODR |= 7<<2;       

请问上面那个问什么不对
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
11条回答
2018Dog
2019-07-21 21:51
Jasonlearning 发表于 2018-12-4 15:35
o 我写成 0001 1100 就行了是吧,还请赐教

根本问题:如何把二进制转十六进制
你看GPIOx_ODR 寄存器,用到了低16位,高16位保留。(不方便截图)
把对应的位写1,应该是0000 0000  0001 1100(共16位)
这是二进制表示法,但一般不会写成二进制,因为可读性差,所以用十六进制表示的。
那么怎么写成十六进制呢?
这个问题你应该问度娘了。

一周热门 更多>