This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] MSP430FR2111:我无法在 P2.0端口上创建捕捉中断。

Guru**** 1135610 points
Other Parts Discussed in Thread: MSP430FR2111
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1190363/msp430fr2111-i-cannot-create-capture-interrupt-on-p2-0-port

器件型号:MSP430FR2111

您好!

我想在端口 P2.0上使用捕捉中断、但无法正确创建。 您可以在下面的中看到我的代码。  我在哪里做礼拜?

#include


unsigned int timerBaptureValues;

int main (空)

WDTCTL = WDTPW | WDTHOLD;//停止看门狗计时器


//配置 GPIO
P1DIR |= BIT3;//将 P1.0设置为输出
P1OUT |= BIT3;// P1.0高电平

//回波
P2DIR &=~BIT0;
P2SEL1 &=~BIT0;//0
P2SEL0 |= BIT0;//1.
P2OUT &=~BIT0;//将输出设定为低电平
PM5CTL0 &=~LOCKLPM5;

SYSCFG3 |= TBRMP;

TB0CTL = 0;
TB0CCTL1 = 0;// CCR2复位/置位
TB0CTL = TBCLR;
SYSCFG3 |= 0x02;//(TBRMP = 1)

TB0CCTL0 = 0;
TB0CCTL0 |= CM_2+CCIS__CCIA+SCS+CAP+CCIE;//设置在两个边沿上具有同步捕捉的 Timer1,连接到 Vcc
//并在捕捉时生成中断
TB0CTL = TBSSEL_2+MC_2+TBIE;//设置 Timer1以在 SMCLK 上运行、上行模式并在溢出时生成中断

//在连续模式中启动计时器

_bis_SR_register (LPM0_bits | GIE);
__no_operation();

// Timer0_B3 CCR0,TB 中断处理程序
#pragma vector = TIMER0_B0_vector
_interrupt void TIMER0_B0_ISR (void)

TB0CCTL0 &=~CCIFG;
timerBaptureValues = TB0CCR0;
__no_operation();

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Melih、

    在代码的第一部分:

    // Configure GPIO
    P1DIR |= BIT3; // Set P1.0 as output
    P1OUT |= BIT3; // P1.0 high

    您具有 P1DIR、但具有 BIT3、但如果您尝试使用 P1.0、则应将其作为 BIT0。 在 TI Resource Explorer 中查看 MSP430FR2111的示例、该示例可帮助您进行初始化。

    最棒的
    Amruta  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    TB0CCTL0 |= CM_2+CCIS__CCIA+SCS+CAP+CCIE;//设置在连接到 Vcc 的两个边沿上具有同步捕捉的 Timer1

    P2.0 (TBRMP=1)是 TB0.1/CCI1A、而不是 TB0.0 [参考数据表(SLASE78D)表6-35]。 请尝试:

    > TB0CCTL1 |= CM_2+CCIS__CCIA+SCS+CAP+CCIE;//设置 Timer1、在连接到 Vcc 的两个边沿上同步捕捉

    捕获结果将位于 TB0CCR1中。 您还需要使用 vector=TIMER0_B1_vector。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、amruta、  

    我知道。 我使用的是 P1.3。 只是评论是错误的。 它应该已"将 P1.3设置为输出。 P1.3高位"。  感谢你的帮助。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢 Bruce。 我会尝试。