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.

[参考译文] CCS/MSP430FR2433:msp430fr2433

Guru**** 2550410 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/766770/ccs-msp430fr2433-msp430fr2433

器件型号:MSP430FR2433

工具/软件:Code Composer Studio

您好!  

我正在使用端口中断。

我的计划是:

I) P2.7与开关(中断)相连。

II) P3.2与 LED 相连。

按下开关时、LED 将亮起。

/*
* port2 vector defined ===========================================================================
*

#pragma vector=port2_vector
_interrupt void Port_2 (void)

IF (P2IFG & 0x80){
P2IFG &=~0x80;//P2.7连接的磁性开关。
pattern = 1;
_BIC_SR_REGISTER_ON_EXIT (LPM3_BITS);

 


/*
* main function============================================================================================================================
*

int main (空)

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

///LED 定义-------------------------------------------------------
// P3OUT &=~BIT2;//清除 P1.0输出锁存器以实现定义的加电状态
 P3DIR |= BIT2;//将 P3.2设置为输出方向

//端口中断定义-------------------------------------------------------

P2DIR &=~BIT7;//p7 -磁体、P2DIR &=~BIT7;
P2IES |= BIT7;  
P2IFG &=~BIT7;
P2IE |= BIT7;


PM5CTL0 &=~LOCKLPM5;//禁用 GPIO 上电默认高阻抗模式

/

 

//start------------------
while (1)

_bis_SR_register (LPM3_bits+GIE);

if (pattern > 0)(如果(模式> 0

pattern = 0;
P3OUT &=~BIT2;                  //LED 正在工作、我在我的定制板中测试了它、没有中断。
_DELAY_CYCLES (800000);
P3OUT |= BIT2;


//返回0;

 

能不能有人告诉我、

我犯了什么错误?

以便中断无法正常工作。

 

此致、

Srijit。  

 

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

    您如何知道中断不起作用? 您是否达到了 ISR 第一行设置的断点?

    这是什么类型的开关? 也许您需要一个上拉电阻(P2REN+P2OUT)。 它能弹起吗?

    变量"pattern"应声明为"volatile"。