OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6824|回复: 3

GPIOA->ODR|=1<<5 ,这一句有疑问

[复制链接]

9

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
114
金钱
114
注册时间
2013-12-18
在线时间
9 小时
发表于 2014-7-4 10:56:06 | 显示全部楼层 |阅读模式
5金钱
GPIOA->ODR|=1<<5 ,这一句有疑问,我知道它的意思是A。5脚置1,但我不知道是一次执行到位,还是分5次或更多,
比方说,
一,先在A。1置1,然后,分5次,一次位移一位分多次执行,这样就会带来付加动作,出现无法预料的后果。
二,另一种理解,等号右边的计算结果出来后,再赋值给等号左边。 也就是说<< 运算符 优先于=,对吗?

最佳答案

查看完整内容[请看2#楼]

1<<5  编译器会把他直接优化为 二进制100000  然后 实际中 只 执行一次 |= 的操作
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

36

主题

1263

帖子

1

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1612
金钱
1612
注册时间
2012-6-15
在线时间
39 小时
发表于 2014-7-4 10:56:07 | 显示全部楼层
1<<5  编译器会把他直接优化为 二进制100000 

然后 实际中 只 执行一次 |= 的操作
回复

使用道具 举报

3

主题

43

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
373
金钱
373
注册时间
2013-6-1
在线时间
54 小时
发表于 2014-7-4 11:15:10 | 显示全部楼层
第二个理解是对的!
回复

使用道具 举报

9

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
114
金钱
114
注册时间
2013-12-18
在线时间
9 小时
 楼主| 发表于 2014-7-4 15:20:29 | 显示全部楼层
谢谢,前辈的指点,你们的帮助是我前进动力的源泉
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-6 13:40

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表