大神带我飞 2016-03-04 09:16 采纳率: 0%
浏览 1426
已采纳

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

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

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

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

初始化的时候,

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

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

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

P0SEL =0x00 //写出结果

P2SEL = 0; //甚至这样写

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

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

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

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

  • 写回答

1条回答

  • xiao哦草 2016-03-04 15:48
    关注

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 outlook无法配置成功
  • ¥15 Pwm双极模式H桥驱动控制电机
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换