OpenEdv-开源电子网

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

新手,求助跑马灯实验

[复制链接]

8

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
75
金钱
75
注册时间
2017-8-5
在线时间
17 小时
发表于 2017-8-5 20:48:27 | 显示全部楼层 |阅读模式
1金钱
本帖最后由 莫多里营 于 2017-8-5 21:41 编辑

1 GPIOB->ODR=~(1<<5);   
2 GPIOB->ODR=0<<5;
3 GPIOB->ODR&=0xFFFFFF0F; GPIOB->ODR|=0xFFFFFFDF;

上面的三个语句一样吗?

最佳答案

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

不一样。另外,这种问题自己仿真就能解决。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165462
金钱
165462
注册时间
2010-12-1
在线时间
2114 小时
发表于 2017-8-5 20:48:28 | 显示全部楼层
不一样。另外,这种问题自己仿真就能解决。
回复

使用道具 举报

8

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
75
金钱
75
注册时间
2017-8-5
在线时间
17 小时
 楼主| 发表于 2017-8-7 08:22:18 | 显示全部楼层
正点原子 发表于 2017-8-7 00:53
不一样。另外,这种问题自己仿真就能解决。

能说一下吗,有什么不一样吗,我是初学者
回复

使用道具 举报

10

主题

172

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1479
金钱
1479
注册时间
2016-1-25
在线时间
260 小时
发表于 2017-8-7 08:28:16 | 显示全部楼层
肯定不一样了  而且这个你去看看c语言基础的 逻辑运算符与或非,就懂了。你以前没有用过数据的位移取反嘛。
回复

使用道具 举报

8

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
75
金钱
75
注册时间
2017-8-5
在线时间
17 小时
 楼主| 发表于 2017-8-7 08:39:31 | 显示全部楼层
sodermalm 发表于 2017-8-7 08:28
肯定不一样了  而且这个你去看看c语言基础的 逻辑运算符与或非,就懂了。你以前没有用过数据的位移取反嘛。

你的意思是前两句是一样的?
回复

使用道具 举报

13

主题

156

帖子

0

精华

高级会员

Rank: 4

积分
883
金钱
883
注册时间
2017-8-7
在线时间
200 小时
发表于 2017-8-7 09:09:51 | 显示全部楼层
第一句是第五位置0 其他位置1   第二句是全置0 第三句第一个 第四位到第七位置0  其余置的取决于之前的状态  第二个是将第五位以外的置1  第五位取决于之前的状态
回复

使用道具 举报

8

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
75
金钱
75
注册时间
2017-8-5
在线时间
17 小时
 楼主| 发表于 2017-8-7 10:40:05 | 显示全部楼层
旺仔奶豆 发表于 2017-8-7 09:09
第一句是第五位置0 其他位置1   第二句是全置0 第三句第一个 第四位到第七位置0  其余置的取决于之前的状态 ...

第三句不是的第一个的第五位不是已经置0了,再结合第二个,不就是其余位是1,第五位是0吗?
回复

使用道具 举报

13

主题

156

帖子

0

精华

高级会员

Rank: 4

积分
883
金钱
883
注册时间
2017-8-7
在线时间
200 小时
发表于 2017-8-7 10:52:08 | 显示全部楼层
莫多里营 发表于 2017-8-7 10:40
第三句不是的第一个的第五位不是已经置0了,再结合第二个,不就是其余位是1,第五位是0吗?

忘了第三句两个是有关联的了  第五局和第一句结果是一样的
回复

使用道具 举报

13

主题

156

帖子

0

精华

高级会员

Rank: 4

积分
883
金钱
883
注册时间
2017-8-7
在线时间
200 小时
发表于 2017-8-7 10:52:20 | 显示全部楼层
旺仔奶豆 发表于 2017-8-7 10:52
忘了第三句两个是有关联的了  第五局和第一句结果是一样的

第三句。。。。。
回复

使用道具 举报

8

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
75
金钱
75
注册时间
2017-8-5
在线时间
17 小时
 楼主| 发表于 2017-8-7 11:45:09 | 显示全部楼层
旺仔奶豆 发表于 2017-8-7 10:52
第三句。。。。。

这个左移<<命令是把所有的位都变成1或0是?
回复

使用道具 举报

13

主题

156

帖子

0

精华

高级会员

Rank: 4

积分
883
金钱
883
注册时间
2017-8-7
在线时间
200 小时
发表于 2017-8-7 16:22:16 | 显示全部楼层

把1左移五位就变成了.....00000100000,这是一个二进制数 可不是10万,之后取反就变成了...1111011111,再和寄存器做按位与运算,第五位是0所以寄存器的第五位会被置0,其他位是1,那么寄存器其他位的值就保持不变(原来是0就是0,原来是1就是1)。
回复

使用道具 举报

8

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
75
金钱
75
注册时间
2017-8-5
在线时间
17 小时
 楼主| 发表于 2017-8-8 15:13:04 | 显示全部楼层
旺仔奶豆 发表于 2017-8-7 16:22
把1左移五位就变成了.....00000100000,这是一个二进制数 可不是10万,之后取反就变成了...1111011111, ...

那左移0呢?
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-4-20 11:17

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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