TI E2E™ 设计支持论坛将于 5 月 30 日至 6 月 1 日进行维护。如果您在此期间需要技术支持,请联系 TI 的客户支持中心寻求帮助。

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.

[参考译文] MSP430G2553:开关中断

Guru**** 2048030 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/568591/msp430g2553-switch-interupt

器件型号:MSP430G2553

您好!

     我正在尝试对 MSP430g2553 MCU 进行编程、以便在连续按下触控(内部中断)开关2 - 3秒时执行某项操作。  您能不能帮助我如何对中断代码进行编程。  

代码:

# pragma vector=port2_vector
_interrupt void port_2 (void)

J_DELAY_+;

P2IFG &=~BIT3;  


 if (j_delay > 50000)    
 {
    J_DELAY=0;

   X=0;  //启用程序2
 }

谢谢、此致。

     

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我是说按住触控开关2-3秒。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    中断是边沿敏感的、不是电平、因此它只会对第一次按下按钮做出反应(让我们不要在这里讨论接触弹跳)。 这意味着您的延迟变量在按下按钮时不会递增。

    您可以执行以下操作:
    使用按钮中断来启动一个计时器、该计时器将在所需的时间到期后测试输入。 如果仍然按下按钮、请执行所需的操作。

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

    感谢您的回复。

    我理解您所解释的内容。

    当我按下按钮时、定时器开始运行2-3秒。 如何在计时器运行时检查按钮是否仍然按下。

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

    您只需要在计时器间隔结束时测试按钮。 这可以通过写入来完成

    if (!(P1IN & 0x01))// P1.0上的按钮被按下(低电平有效)
    {
    //执行一些操作
    } 

    (仅在此处以 P1.0上的按钮为例)

    Dennis