永发信息网

msp430中怎样设置P1口的相互异或

答案:2  悬赏:40  手机版
解决时间 2021-12-19 17:55
  • 提问者网友:伴风望海
  • 2021-12-18 23:38
msp430中怎样设置P1口的相互异或
最佳答案
  • 五星知识达人网友:长青诗
  • 2021-12-19 00:24
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
int i;
P1DIR |= 0xff;
P5DIR |= 0xff;

P5OUT=P1OUT;
P5OUT &=0x01;

for (i=1;i==7;)
{P1OUT >>=i;
P5OUT ^=(P1OUT);
P5OUT &=0x01;
}
}

P5.0的输出即为P1各位相互异或的结果~~
以上程序仅供参考,LZ自己看看可能有些地方不严谨(偷懒不写注释了,程序也很简单),
我也没写入板子看看,但是编程的主体思路就是这样~~
全部回答
  • 1楼网友:杯酒困英雄
  • 2021-12-19 01:05
可以的,msp430的片子配置很灵活。 以msp430g2452为例,下面的例程实现了p1.0配置为正常的io,输出方向,可以驱动个led灯闪一闪,p1.4配置为中断引脚。 #include void main(void) { wdtctl = wdtpw + wdthold; // stop watchdog timer p1dir |= bit0; // set p1.0 to output direction p1ie |= bit4; // p1.4 interrupt enabled p1ies |= bit4; // p1.4 hi/lo edge p1ifg &= ~bit4; // p1.4 ifg cleared _bis_sr(lpm4_bits + gie); // enter lpm4 w/interrupt } // port 1 interrupt service routine #pragma vector=port1_vector __interrupt void port_1(void) { p1out ^= bit0; // p1.0 = toggle p1ifg &= ~bit4; // p1.4 ifg cleared }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯