C語言問題

2019-03-24 10:08发布

P3OUT |= BIT2;

P3OUT &=~0x80



兩段各是甚麼意思
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
huaiqiao
1楼-- · 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复位而不影响其他位的值。
sint27
2楼-- · 2019-03-24 21:52
 精彩回答 2  元偷偷看……
RexK
3楼-- · 2019-03-25 01:28
sint27 发表于 2015-6-10 15:33
第一段:P3的bit2置高
第二段:P3的bit7置低

|= 跟 &=的意思
sint27
4楼-- · 2019-03-25 01:50

P3OUT |= BIT2; 等同于P3OUT = P3OUT | BIT2;

P3OUT &=~0x80 等同于 P3OUT =P3OUT&(~0x80);

话说,这可是C语言的基础啊,再看看书吧
数码小叶
5楼-- · 2019-03-25 06:28
 精彩回答 2  元偷偷看……
huaiqiao
6楼-- · 2019-03-25 10:30
数码小叶 发表于 2015-6-10 16:45
码字码的真详细

呵呵,既然是说明问题。不能只给个答案,庖丁解牛了下,见笑了。O(∩_∩)O哈哈~

一周热门 更多>

相关问题

    相关文章