新人请教STM32 GPIO口设置中置位语法的问题。

[复制链接]
 楼主| 考哥 发表于 2020-4-25 10:26 | 显示全部楼层 |阅读模式
以前用过一段时间51单片机,语法很简单,最近在跟着视频学,视频中有这么一段
RCCAPB2ENR |=((1)<<3;),作用是使能PB口时钟,将时钟使能寄存器中的第3位置1,按照老师的说法是1左移3位,我的理解是将左边第三位置1.
GPIOBCRL |=((1)<<(4*0));作用是将P0口配置为推挽输出模式,根据手册应该是将GPIOB的端口配置低寄存器中的低四位设置为0001,这个我不理解,意思是低4位先全部设置为0,然后1左移0位?
GPIOBODR &=~(1<<0)  ;这句的作用应该是PB0输出设0,。
因为以前学51单片机,经常对某一个端口操作就是p0^1=1,这样,现在换成STM32完全不一样,我现在想请教的是这种|=,&=~,还有寄存器的置位操作的语法在哪儿可以学到?就像是((1)<<3)这种操作。
yml1104 发表于 2020-4-25 11:29 | 显示全部楼层
GPIOBCRL |=((1)&lt;&lt;(4*0))可以理解为GPIOBCRL |=((1)<<(4*0))
意思是0001左移0位 4是一次移动四个位的意思
您需要登录后才可以回帖 登录 | 注册

本版积分规则

461

主题

477

帖子

0

粉丝

461

主题

477

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部