TI中文支持网
TI专业的中文技术问题搜集分享网站

关于launchpadG2553官网例程中的外部中断 新人请教一个问题

在这个代码中
P1DIR = 0x01;                             // P1.0 output, else input
  P1OUT = 0x10;                             // P1.4 set, else reset
首先设置P1.0输出,其他输入,第二句就让P1.4输出高电平,这两句不矛盾吗?

#include <msp430.h>

int main(void)
{WDTCTL = WDTPW + WDTHOLD;// Stop watchdog timerP1DIR = 0x01;// P1.0 output, else inputP1OUT = 0x10;// P1.4 set, else resetP1REN |= 0x10;// P1.4 pullupwhile (1)// Test P1.4{if (0x10 & P1IN) P1OUT |= 0x01;// if P1.4 set, set P1.0else P1OUT &= ~0x01;// else reset}
}

还有在下面这个代码中,为什么接P1.4时首先需要 P1OUT =  0x10;                            // P1.4 set, else reset
才能设置上拉电阻呢?上拉电阻的作用是保护内部结构防止静电接触瞬间放电吗?
而如果是P1.3就不用这样呢?(P1.3是LED  P1.4悬空)

#include <msp430.h>

int main(void)
{WDTCTL = WDTPW + WDTHOLD;// Stop watchdog timerP1DIR = 0x01;// P1.0 output, else inputP1OUT =  0x10;// P1.4 set, else resetP1REN |= 0x10;// P1.4 pullupP1IE |= 0x10;// P1.4 interrupt enabledP1IES |= 0x10;// P1.4 Hi/lo edgeP1IFG &= ~0x10;// 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 ^= 0x01;// P1.0 = toggleP1IFG &= ~0x10;// P1.4 IFG cleared
}
RUICHEN WU:

回复 ning wang8:

谢谢解答,完整的解答了我的疑惑,我在网上看到好多说用户手册的重要性,但是技术文档中有太多文件眼花缭乱,一般来说,只有datasheet 和 family user‘s guide 这两个有用吗?

ning wang8:

回复 RUICHEN WU:

我建议你同时打开中文版英文版的用户手册,有些中文翻译有些并不好,没有的话,留邮箱给我,我发给你

ning wang8:

回复 ning wang8:

补充一下,我这还有一个新手学习的手册,只有英文的,你需要吗

RUICHEN WU:

回复 ning wang8:

恩恩,我也发现了,实在太感谢你了。

RUICHEN WU:

回复 ning wang8:

恩恩,英文的可以,谢谢了,376968969@qq.com麻烦发到我email

赞(0)
未经允许不得转载:TI中文支持网 » 关于launchpadG2553官网例程中的外部中断 新人请教一个问题
分享到: 更多 (0)