世纪电源网社区logo
社区
Datasheet
标题
返回顶部
讨论

有人可以帮忙解释c语言吗?

[复制链接]
查看: 531 |回复: 5
1
dennisTOP
  • 积分:232
  • |
  • 主题:7
  • |
  • 帖子:25
积分:232
LV3
助理工程师
  • 2023-3-1 15:18:24
msp430F149 其中C语言有一句 P3DIR|=BIT43OUT^=BIT4.为什么对一个针脚(P3DIR与P3OUT)赋了一个BIT4(8位二进制)。求解释 谢谢
通天塔
  • 积分:497
  • |
  • 主题:10
  • |
  • 帖子:70
积分:497
LV6
高级工程师
  • 2023-3-1 15:45:51
  • 倒数5
 
在MSP430头文件中你可以找到BIT4 实际上就是0x10即 0001 0000
P3DIR |= BIT4是一个或运算,等同于 P3DIR = P3DIR | BIT4;
无论P3DIR原来的值是什么与BIT4相或之后,其余位不变,第5位变为1,例如P3DIR原来的值是0x41即 0100 0001,它与0001 0000相或(对应位相加)就变成了0101 0001跟原来的0100 0001相比只有第5位变为了1,其余位不变。
而P3DIR表示P3口的IO是输入还是输出,当对应位为1时,相应端口为输出,P3DIR |= BIT4的意思就是P3.5定义为输出,P3口其它管脚的输入输出状态不变。
P3OUT ^= BIT4;是一个按位异或操作,等同于P3OUT = P3OUT ^ BIT4;即P3.5的值与1(BIT4即第5位为1)相同则P3.5的值为0,否则为1.即原来P3.5为0时执行这个语句之后P3.5的值变为1;原来P3.5为1时执行这个语句之后P3.5的值变为0.相当于每执行一次P3OUT ^= BIT43.5的值就改变一次。
Uoresei
  • 积分:423
  • |
  • 主题:10
  • |
  • 帖子:49
积分:423
LV6
高级工程师
  • 2023-3-1 15:47:58
  • 倒数4
 
MC_0代表的是一个宏定义的一个值,你具体查看宏定义
z443233785
  • 积分:5343
  • |
  • 主题:117
  • |
  • 帖子:1003
积分:5343
LV8
副总工程师
  • 2023-3-5 21:59:33
  • 倒数3
 
MSP430 TimerB捕获脉冲,在MSP430F147上测试已经成功,TBCCR0:用来取得一个周期中高电平的时间长度,TBCCR1:取得脉冲的周期长度, TBCCR2:取得脉冲的周期长度。
第九区
  • 积分:538
  • |
  • 主题:35
  • |
  • 帖子:60
积分:538
LV6
高级工程师
  • 2023-4-18 09:07:57
  • 倒数2
 
定义好像是
#define 0x01 bit0
........0x02 bit1
........0x04 bit2
........0x08 bit3
........0x10 bit4
........0x20 bit5
........0x40 bit6
........0x80 bit7
总结下这是8个零 0000 0000 ,哪个位为1就是那个引脚。PXDIR PXOUT是个八位的寄存器,每一位对应每个引脚的输出,所以P3DIR=BIT4,是p3.4




904091S
  • 积分:647
  • |
  • 主题:20
  • |
  • 帖子:120
积分:647
LV6
高级工程师
最新回复
  • 2023-4-18 09:09:28
  • 倒数1
 
这个应该叫做运算。msp430和51的不同之处在于只能进行字节或者字操作,不能进行位操作
热门技术、经典电源设计资源推荐

世纪电源网总部

地 址:天津市南开区黄河道大通大厦8层

电 话:400-022-5587

传 真:(022)27690960

邮 编:300110

E-mail:21dy#21dianyuan.com(#换成@)

世纪电源网分部

广 东:(0755)82437996 /(138 2356 2357)

北 京:(010)69525295 /(15901552591)

上 海:(021)24200688 /(13585599008)

香 港:HK(852)92121212

China(86)15220029145

网站简介 | 网站帮助 | 意见反馈 | 联系我们 | 广告服务 | 法律声明 | 友情链接 | 清除Cookie | 小黑屋 | 不良信息举报 | 网站举报

Copyright 2008-2024 21dianyuan.com All Rights Reserved    备案许可证号为:津ICP备10002348号-2   津公网安备 12010402000296号