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/MSP430G2553:引脚2.6上的引脚中断

Guru**** 2616675 points

Other Parts Discussed in Thread: MSP430G2553

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/671053/ccs-msp430g2553-pin-interrupt-on-pin-2-6

器件型号:MSP430G2553

工具/软件:Code Composer Studio

嗨、大家好、

我在 MSP430G2553中使用中断时遇到问题。

这是我的代码:

int main (void)
{
WDTCTL = WDTPW | WDTHOLD;//停止看门狗计时

器 if (CALBC1_1MHz = 0xFF || CALDCO_1MHz = 0xFF) //如果校准常数被擦除,则捕捉 CPU
{
while (1);
}

BCSCTL1 = CALBC1_1MHz; //如果校准常数被擦除。 请勿加载、陷阱 CPU!
DCOCTL = CALDCO_1MHz; //设置 DCO 步长+调制



//引脚2_6作为中断引脚
P2OUT |= BIT6; // P1.4 setzen
P2REN |= BIT6; // P1.4上拉
P2IE |= BIT6; // P1.4中断 aktivieren (Nur für diesen 引脚)
P2IES |= BIT6; // P1.4高/低边沿
P2IFG &=~BIT6; //清除 P1.4 IFG



//初始化 SPI,MCP2515,CAN 变量
MCP2515_SPI_init();
MCP2515_init();
MCP2515_CANVariable_init (&CAN_TX);
MCP2515_CANVariable_init (&CAN_Rx);

 _EINT ();

while (1)
{
CAN_TX.DATA[0]=5;
CAN_TX.DATA[1]=6;
CAN_TX.COB_ID = 0x110;
MCP2515_CAN_tx0 (&CAN_TX);

}



#pragma vector=port2_vector //如果触发了中断,则将执行中断函数
__interrupt void Port_2 (void)
{MCP2515_CAN_rx0(&CAN_Rx)
; // Lese Information AUS Empyrean 锐影 RX0
__delay_cycles (delay_10ms);
MCP2515_CAN_tx0 (&CAN_Rx); // Sende das Emptfangene zurück (Echo)
P2IFG &=~BIT6; // P2.6 IFG weder Löschen
}

我想使用 CAN 控制器、当接收到消息时、一个高-低边沿应该触发中断功能并发回一个回波、但是中断功能不会被激活。

请帮帮我。



此致、

Simon

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

    当您进入 while 循环时、我会在这里停止调试器、并在 CCS Register 视图中仔细检查您的寄存器设置。 如果您对它们进行屏幕截图、我可以在您发布时在论坛上查看它们。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    请记住、在引导时、P2SEL = 0xC0、这将为晶体振荡器配置两个高电平引脚。  要将其用于 GPIO、您首先需要清除 P2SEL。  我看不到您在代码中是在哪里完成的。

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

    感谢您的帮助!

    我添加了

    P2SEL &= 0x00;

    中断引脚的 Init、但我认为它的工作方式不正确。

    我是否必须将其用作输入或输出引脚?

    谢谢!

    此致、

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

    是的、在这里明确地将其声明为输入引脚。