2019-03-24 10:08发布
sint27 发表于 2015-6-10 15:33 第一段:P3的bit2置高 第二段:P3的bit7置低
数码小叶 发表于 2015-6-10 16:45 码字码的真详细
最多设置5个标签!
首先看到你的这个语句我觉得是msp430的语句,
1 . P3OUT |= BIT2; 这个的意思:假如说P3口有8位,而P3OUT表示P3口输出,P3OUT|=BIT2就等价于P3OUT=P3OUT | BIT2。这句的意思就说,将P3OUT的值与BIT2做“按位或”运算后将运算后的数值赋值给P3OUT,你想想根据真值表,与1做“或”运算的所有数的结果都是1,这样写的好处是仅仅将P3.2置位而不影响其他位的数值;
2. P3OUT &=~0x80,同理,P3OUT &=~0x80就等价于P3OUT=P3OUT&(~0x80),就是说P3OUT=P3OUT&0x7F,(根据C语言运算优先级,~运算符(单目运算符)的高于&运算符(双目运算符)的运算优先级),所以再根据真值表,0&1=0;0&0=0,意思就是说不管P3OUT之前的值是什么,P3口的最高位即P3.7在这个语句结束之后,P3.7就是低电平。这样写也就是说仅仅将P3.7复位而不影响其他位的值。
|= 跟 &=的意思
P3OUT |= BIT2; 等同于P3OUT = P3OUT | BIT2;
P3OUT &=~0x80 等同于 P3OUT =P3OUT&(~0x80);
话说,这可是C语言的基础啊,再看看书吧
呵呵,既然是说明问题。不能只给个答案,庖丁解牛了下,见笑了。O(∩_∩)O哈哈~
一周热门 更多>