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.

[参考译文] 编译器/TM4C1294NCPDT:为什么不触发计时器中断

Guru**** 2457760 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/648282/compiler-tm4c1294ncpdt-why-does-the-timer-interrupt-do-not-trigger

器件型号:TM4C1294NCPDT

工具/软件:TI C/C++编译器

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

    您好!

     您正在尝试使用 TIMER0捕获事件。 您是否在以下引脚之一上提供了输入信号? 例如、您是否为 PD0提供了输入信号? 如果您在中断 ISR 中放置一个断点、它会在那里停止吗?

      

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    此外、请确保添加并正确配置所选 GPIO 引脚以实现计时器捕获功能。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢你的答复。 我提供了一个信号(GPIOPinConfigure (GPIO_PA0_T0CCP0);GPIOPINTypeTimer (GPIO_PORTN_BASE、GPIO_PIN_0);)、但是它仍然没有触发。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    列出的"一起运行"代码(上面)显示了"GPIOPinConfigure (GPIO_PA0_TOCCP0);"、然后列出了"GPIOPinTypeTimer (GPIO_PORTN_BASE、GPIO_PIN_0)"-不能轻易地记录海报的"冲突"?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    但我将其更改为"GPIOPinConfigure(GPI_PA0_T0CCP0);
    GPIOPinTypeTimer (GPIO_Porta_base、GPIO_PIN_0);GPIOPinTypeGPIOInput (GPIO_Porta_base、GPIO_PIN_0);"计时器中断仍然不会触发。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您的"更改"(尤其是)不清楚-是这样吗? 让你的帮助者"努力"——不符合你的利益——是吗?

    让我们来看看您最新代码的"正确"(更易读)版本。   (仍然压缩在一起-添加空间不会增加您在此处的"成本"-并且使代码更易读!

    GPIOPinConfigure (GPIO_PA0_T0CCP0);  // 此处已将 GPIO_PA0配置为计时器

    GPIOPinTypeTimer (GPIO_Porta_base、GPIO_PIN_0);  //  在这里您已将 GPIO_PA0作为计时器键入。   到目前为止都很好!

    然后到达:

    GPIOPinTypeGPIOInput (GPIO_Porta_base、GPIO_PIN_0);  //  您是否没有-通过此操作-针对 PA0 "使您的(先前/以上)定时器设置无效?

    有许多、很多代码示例-您不应该搜索-然后查找-然后认真复查它们吗?   毫无疑问、这些示例中(任何一个)将"将先前设置的引脚从"计时器"切换到 GPIO 输入-正如您所做的...    删除该代码行(就在上面)-然后运行/报告...

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 CB1、
    感谢您对不必要的 GPIOPinTypeGPIOInput 的反馈。 另外要检查的是是否发出 ROM_SysCtlPeripheralEnable (SYSCTL_Periph_GPIOA)来启用 GPIOA。 在原始代码中、仅启用 GPION。


    ROM_SysCtlPeripheralEnable (SYSCTL_Periph_GPIOA);
    ROM_GPIOPinConfigure( GPIO_PA0_T0CCP0 );
    ROM_GPIOPinTypeTimer( GPIO_Porta_base、GPIO_PIN_0);
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    确实是查尔斯——的确如此。 我"有"想到了这一点、但决定了、海报的代码确实运行了、他(可能)达到了"Periph_en"合规性。
    他的"无法辨认的边界"这一职务超出了他的利益,因此我"冒昧"注意到这一点。

    "论坛"不对海报收费(至少目前)。 然而,"类似的"驱逐的提交人--肯定正在考虑这样的(其他)"有用的"方法。