请教下IIC例程中IO方向设置问题

2019-07-21 04:03发布

最近在学习iic读写,看了原子的程序,现在想把IIC端口改到 SCL --PB6,SDA--PB7
请教下下面这个IO方向设置要如何修改?
#define SDA_IN()  {GPIOB->CRH&=0XFFFF0FFF;GPIOB->CRH|=8<<12;}
#define SDA_OUT() {GPIOB->CRH&=0XFFFF0FFF;GPIOB->CRH|=3<<12;}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
21条回答
xu271088570
2019-07-21 11:48
回复【2楼】正点原子:
---------------------------------
原子老师,这样配置IO口是不是因为STM32的寄存器都要32位的方式配置?“|=(32)8<<28”是不是这个意思:定义32位数8,然后左移28位,寄存器再与左移28位后的数做或运算,取或运算的话是为了不影响寄存器原来的设置。
我刚学STM32,以前学51的时候没有遇到这样的赋值方式,在STM32里有很多赋值语句还不是很明白,所以问一下原子老师,如果能得到老师的指点那是我的荣幸!

一周热门 更多>