2149|0

2781

帖子

419

TA的资源

五彩晶圆(中级)

楼主
 

MSP430:P1OUT=4、P1OUT |=4、P1OUT &-=~8的意思 [复制链接]

首先,msp430没有P0口的,按P1口来说明 P1OUT = 4; P1.2引脚输出高电平,P1其余引脚输出低电平; P1OUT |= 4;P1.2置高电平,P1其余引脚不变; P1OUT &= ~8;即P1OUT &= 0xf7,P1.3置低电平,P1其余引脚不变;
|是或运算符,&是与运算符,具体请参考C语言应用运算符部分!
  没有P0口把就把P0当成P1讲解把 P1OUT=4=0100;所以P1.0,P1.1,P1.3输入P1.2输出 P1OUT |=4=0100 ;所以P1.2输出 P1OUT &-=~8=-(1000)=0111;P1.3输入 不一定对,我自己的理解,我也刚看书,还望高手指点 下边是 与 或 的详细说明,你仔细看看,这是我当时学习的时候整理的
(1)位于&经常用于测试某个位是1还是0
下面程序测试变量flag的第四位是1还是0. #define TEST 8 main() { int flag; ...; if ((flag&TEST)!=0) { printf("fourth bit is set"); } } 注意逻辑运算符优先级比关系运算符优先级低,必须加括号。 位与还常用来对操作数的某些位清零,或者保留某些位: a=a&0xffff 高16位清零,保留低 16位.

(2)位或经常用于把标识符中某个位设置为1
#define SET 8 main() { int flag; ...; flag=flag | SET; //与flag |=SET相同 if((flag & TEST)!=0) { printf("flag is set") } }

(3)求反运算符经常与位与运算一起使用,用于关闭某个位。
x=8; flag=flag &~x; //flag &=~x 将把flag的第四位关闭。

(4)位移运算符 << , >> 位移运算经常用于乘以或除以2的幂。
x=y<<1; 该语句把y左移一位,然后赋值给x,x的十进制值等于y乘以2的值。 同理,右移一位等于y除以2的值

 
点赞 关注(1)
个人签名

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表