#define SDA_IN() {GPIOB->CRL&=0x0FFFFFFF;GPIOB->CRL|=8<<28;}//GPIOB7,上拉/下拉输入
#define SDA_OUT() {GPIOB->CRL&=0x0FFFFFFF;GPIOB->CRL|=3<<28;}//GPIOB7,推挽输出
CRL寄存器对应的是:GPIO0-GPIO7
CRH寄存器对应的是:GPIO8-GPIO15
GPIOB->CRL&=0xFFFFFFF0; //GPIOB0 GPIOB->CRL&=0xFFFFFF0F; //GPIOB1 GPIOB->CRL&=0xFFFFF0FF; //GPIOB2 GPIOB->CRL&=0xFFFF0FFF; //GPIOB3 GPIOB->CRL&=0xFFF0FFFF; //GPIOB4 GPIOB->CRL&=0xFF0FFFFF; //GPIOB5 GPIOB->CRL&=0xF0FFFFFF; //GPIOB6 GPIOB->CRL&=0x0FFFFFFF; //GPIOB7
GPIOB->CRL|=8<<12;表示将0x08(二进制为1000)左移12位。这样操作后数据为0xFFFF8FFF ;
0x08 的二进制为1000;
前两位对应CNFy[1:0] ; 后两位对应MODE[1:0];



