2 cskingq cskingq 于 2016.03.04 17:16 提问

C2530单片机问题, 新手初学。寄存器相关

小弟初学单片机,C2530.。看了简介直接在网上找的试验在做,

在做 外部中断 试验的时,这个问题我还是搞不懂。。。

-------------

初始化的时候,

P0SEL &= ~0x02; //设定P0_1为一般的IO口

P2SEL &= ~0x01; //设定P2_0为一般的IO口

为何不直接写出结果,也就是说直接写

P0SEL =0x00 //写出结果

P2SEL = 0; //甚至这样写

-----------------------

我修改代码试了,暂时在我试验的几个简单程序是效果相同的。

这到底有何不同?或者表达不同的意义?

菜鸟一个,昨天才开始学,大神见谅!

1个回答

ouchao0727
ouchao0727   2016.03.04 23:48
已采纳

x&1=x x&0=0 x|1=1 x|0=x这个你知道吧 你看到的那些运算其实就是给某一个端口高或者低电平 但用这种与或运算有一个好处就是只改变某一个端口的值而不改变其余同组端口的值 愿意你拿上面的公司套一下就知道了 你想一下如果你8个端口的接了好多个东西 按照你的方式 你把灯熄灭也许蜂鸣器也跟着响起来 这样就会有问题了 平时应该用上面的方式是好习惯

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!