求教IO方向设置的问题#define DHT11_IO_IN() {GPIOC->CRL&=0XFFFFFFF0;GPIOC->CRL|=8<<0;}

2019-10-16 03:09发布

谁能讲讲这里是什么意思,为什么改了io就用不了,0XFFFFFFF0还有8<<0,都是什么意思,求具体讲一下
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
7条回答
曹世鹏
2019-10-16 11:41
前面的我明白是什么意思。但是后面的GPIOC->CRL|=8<<0;和GPIOC->CRL|=3<<0;中的左移0是什么意思我就不知道了。
上面的8代表的是1000。表示浮空输入模式。
上面的3代表的是0011。表示推挽输出模式。
但是就是左移0不知道是啥意思。哪位师傅能帮我解答下呢。谢谢。
例如我把PC5设置成DS18B20的IO口
#define DS18B20_IO_IN()  {GPIOC->CRL&=0XFF0FFFFF;GPIOC->CRL|=8<<0;}
#define DS18B20_IO_OUT() {GPIOC->CRL&=0XFF0FFFFF;GPIOC->CRL|=3<<0;}
上面这两个是我自己改动的。前面一部分肯定是没有什么问题。但是左移0肯定是不对的。对于左移几,是怎么计算的呢。求解答。

一周热门 更多>