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.

[参考译文] MSP430F5529:MSP430f5529中断 isn#39;t working

Guru**** 2531060 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/909992/msp430f5529-msp430f5529-interrupt-isn-t-working

器件型号:MSP430F5529

您好!

我刚刚创建了一个包含中断功能的程序。 在我的小齿轮上、它应该可以工作、但它有一个小错误。 我已经使用逻辑分析仪检查了 GDO0引脚上的脉冲、但正如我说过的、它在程序中不执行任何操作。 也许这里的任何人都能找到这个错误。 非常感谢。

void Interrupt_init(){
GDO0DIR &=~GDO0;
GDO0REN |= GDO0;//激活内部电阻器
GDO0IE |= GDO0;//激活 P2.0上的端口中断
GDO0IES |= GDO0;
_enable_interrupt ();

//端口2中断服务例程
#pragma vector=port2_vector
_interrupt void Port_2 (void){

----代码----

GDO0IFG &=~GDO0;

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

    它以什么方式不起作用? 您是否达到 Port_2 ()第一行的断点集? 如果您在调试器中暂停、程序在哪里执行?

    我要提到的是、您在不设置 P2OUT 的情况下启用内部电阻器(REN);P2OUT 的值在启动时未知、因此这可能是上拉或下拉。 如果您的脉冲源正在驱动导线、这可能无关紧要、但在这种情况下、您可能不应该启用 REN。

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

    在调试模式下、当我在中断 metode 中有一个断点时、它永远不会停止。  

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

     如果您在调试器中暂停、程序在哪里执行?

    当您在该位置时,您可能需要检查 P2寄存器(“View->Registers”),以确保它们是按照您的想法设置的。