打印
[STM32F0]

这句为什么要这样写啊?

[复制链接]
681|24
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
androidbus|  楼主 | 2019-11-16 10:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

PORTB |=(1<<2)

使用特权

评论回复
沙发
litengg| | 2019-11-16 10:40 | 只看该作者
为什么不直接写成PORTB |=0x??格式呢?

使用特权

评论回复
板凳
qiangweii| | 2019-11-16 10:42 | 只看该作者
原来是习惯问题啊,我还以为又是什么抠时间的问题呢

使用特权

评论回复
地板
shashaa| | 2019-11-16 10:44 | 只看该作者
1<<2表示bit2
直观,可读性强,不容易出错

使用特权

评论回复
5
xia00| | 2019-11-16 10:46 | 只看该作者
比如bit10是多少,至少你要计算一下才知道是多少,但是(1<<10)是不会错的。。

使用特权

评论回复
6
hfdy01| | 2019-11-16 10:47 | 只看该作者
PORTB |=(1u<<2) 保险点

使用特权

评论回复
7
Comkik| | 2019-11-16 10:48 | 只看该作者
这样可以更简单明了选择bit

使用特权

评论回复
8
CallReceiver| | 2019-11-16 10:50 | 只看该作者
编译器执行,不影响效率,看你习惯了。。

使用特权

评论回复
9
boy1990| | 2019-11-16 10:51 | 只看该作者
这样写容易读,一下就看出操作的事B口的第2脚。。

使用特权

评论回复
10
sourceInsight| | 2019-11-16 10:54 | 只看该作者
这是对单独的某一位进行操作,不会影响PORTB口的其它位。

使用特权

评论回复
11
bbapple| | 2019-11-16 10:56 | 只看该作者
C语言中移位操作要比乘法运算和逻辑运算要快,所以这样写!

使用特权

评论回复
12
handleMessage| | 2019-11-16 10:59 | 只看该作者
PORTB |=(1<<2)
首先1<<2,你要懂,就是0000 0001移位两次是多少?

使用特权

评论回复
13
zhouhuanの| | 2019-11-16 11:00 | 只看该作者
如果PORTB第三位是个1,那就是1,不是1就变成1,其他位不变。

使用特权

评论回复
14
wanglaojii| | 2019-11-16 11:04 | 只看该作者
也可以改成宏定义的。。

使用特权

评论回复
15
laozhongyi| | 2019-11-16 11:05 | 只看该作者

现在都有宏定义实现的。

使用特权

评论回复
16
Edisons| | 2019-11-16 11:08 | 只看该作者
只改变一个IO,不影响其他的IO。。。

使用特权

评论回复
17
_gege| | 2019-11-16 11:10 | 只看该作者
只修改一个IO的最简单办法。

使用特权

评论回复
18
Mozarts| | 2019-11-16 11:11 | 只看该作者
将PBIO一个引脚设置为高电平。

使用特权

评论回复
19
Listate| | 2019-11-16 11:12 | 只看该作者

PB这个引脚直接复位这样简单多了。

使用特权

评论回复
20
wowu| | 2019-12-10 11:46 | 只看该作者
左移两位置1

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

181

主题

1597

帖子

3

粉丝