打印
[AVR单片机]

AVR位操作的问题

[复制链接]
1841|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
chen3bing|  楼主 | 2010-5-31 19:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我编了一个程序,其中有这样一条语句。
PORTD&=0XFE;
作用是PORTD第0位清零。
我们单位的一个高手说这样会影响到其他位。
要这样写:PORTD&=(1<<PD0);
我在网上查了一下,发现是:PORTD&=~(1<<PD0);
即便是后一种写法,我觉得也和我的写法一样。
不过高手说那样写,或许有他的道理。
请论坛的大侠解惑。谢谢!

相关帖子

沙发
pangjiang| | 2010-5-31 21:24 | 只看该作者
你用软件模拟一下,看看结果,事实胜于雄辩

使用特权

评论回复
板凳
chfirst| | 2010-5-31 21:57 | 只看该作者
一样

使用特权

评论回复
地板
ShakaLeo| | 2010-6-1 08:54 | 只看该作者
对于AVR来说是一样的。如果是16位机,PORTD&=0XFE;可能就有问题了,应该是PORTD&=0XFFFE;

使用特权

评论回复
5
chen3bing|  楼主 | 2010-6-1 09:17 | 只看该作者
谢谢!

使用特权

评论回复
6
SHSLZHZ| | 2010-6-4 15:20 | 只看该作者
1# chen3bing
你那位高手写得一看就能明白

使用特权

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

本版积分规则

439

主题

2540

帖子

2

粉丝