[应用相关] 这句为什么要这样写啊?

[复制链接]
673|16
 楼主| Mozarts 发表于 2020-5-5 16:23 | 显示全部楼层 |阅读模式
这句为什么要这样写啊?PORTB |=(1<<2) 为什么不直接写成PORTB |=0x??格式呢?
_gege 发表于 2020-5-5 16:30 | 显示全部楼层
这个看自己的使用习惯吧!!
Edisons 发表于 2020-5-5 16:30 | 显示全部楼层
我还以为又是什么抠时间的问题呢
laozhongyi 发表于 2020-5-5 16:36 | 显示全部楼层
1<<2表示bit2
直观,可读性强,不容易出错
wanglaojii 发表于 2020-5-5 16:36 | 显示全部楼层
比如bit10是多少,至少你要计算一下才知道是多少,但是(1<<10)是不会错的
bbapple 发表于 2020-5-5 16:42 | 显示全部楼层
PORTB |=(1u<<2) 保险点。。
handleMessage 发表于 2020-5-5 16:42 | 显示全部楼层
编译器执行,不影响效率,看你习惯了。
xia00 发表于 2020-5-5 16:48 | 显示全部楼层
这样写容易读,一下就看出操作的事B口的第2脚,而且不影响执行效率。
hfdy01 发表于 2020-5-5 16:48 | 显示全部楼层
这是对单独的某一位进行操作,不会影响PORTB口的其它位。
CallReceiver 发表于 2020-5-5 16:53 | 显示全部楼层
C语言中移位操作要比乘法运算和逻辑运算要快,所以这样写!其实你自己说的扣时间是对的!
boy1990 发表于 2020-5-5 16:54 | 显示全部楼层
PORTB |=(1<<2)
首先1<<2,你要懂,就是0000 0001移位两次是多少?
sourceInsight 发表于 2020-5-5 16:58 | 显示全部楼层
就是BIT2,就是0000 0100,也就是把这个第三位取或,如果PORTB第三位是个1,那就是1,不是1就变成1,其他位不变。
feiqi1 发表于 2020-5-5 16:59 | 显示全部楼层
可以改成宏定义的
还有其他的方式改变IO.
androidbus 发表于 2020-5-5 17:02 | 显示全部楼层
就是IO操作的直观性强些吧。
litengg 发表于 2020-5-5 17:03 | 显示全部楼层
只改变一个IO,不影响其他的IO的
qiangweii 发表于 2020-5-5 17:07 | 显示全部楼层
只修改一个IO的最简单办法。
shashaa 发表于 2020-5-5 17:07 | 显示全部楼层

将PBIO一个引脚设置为高电平。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

70

主题

1320

帖子

0

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