C語言問題

2019-03-24 10:08发布

P3OUT |= BIT2;

P3OUT &=~0x80



兩段各是甚麼意思
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
8条回答
huaiqiao
2019-03-24 16:31
本帖最后由 huaiqiao 于 2015-6-10 16:20 编辑

首先看到你的这个语句我觉得是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复位而不影响其他位的值。

一周热门 更多>

相关问题

    相关文章