大家好,欢迎来到IT知识分享网。
置位:|= , 清0:&=~
清0例:*(unsigned int*)0x40010C0C &=~(1<<0)
先让1左移0位,即
再全部取反,即
再与之相与,即….
我们知道1和1或0相与都为它自己本身,而0和0或1相与都为0,故达到了清0的作用
置位例:0xABC6|=((1)<<3)
0xABC6=
首先,1左移3位,得到0000 0000 0000 1000
|运算符 0|0=0,0|1=1,1|0=1,1|1=0;即相同为0,不同为1
即1010 1011 1100 1110
如此以来就达到了置位的效果。
PB0使能
GPIOB起始地址
控制ODR寄存器
配置IO口为输出(控制CRL寄存器)
推挽输出主要目的为增强输出的负载能力。推挽既可以输出低电平也可以输出高电平;STM32的引脚一般是高阻态,但是推挽输出默认为低电平。
使能时钟(RCC_APB2ENR)
代码:
//打开GPIOB端口的时钟
*(unsigned int * )0x |= ( (1)<<3 );
//配置IO口为输出
*(unsigned int * )0x40010C00 |= ( (1)<<(4*0) );
//控制ODR寄存器
*(unsigned int * )0x40010C00 &=~(1<<0);
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/137576.html