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:未声明 TivaWare INT_*值

Guru**** 2032800 points
Other Parts Discussed in Thread: TM4C1294NCPDT, ENERGIA, EK-TM4C1294XL
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/708461/tm4c1294ncpdt-tivaware-int_-values-not-declared

器件型号:TM4C1294NCPDT
Thread 中讨论的其他器件: EnergiaEK-TM4C1294XL

您好!

我尝试使用 Energia 和 TivaWare 库对 TM4C1294NCPDT 进行编程。 我的 TivaWare 版本为: TivaWare_C_Series-2.1.4.178。

我尝试使用 IntEnable()函数在 TIMER0A 超时时启用中断。

#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include

#define PART_TM4C1294NCPDT

int speedFactor = 0;

void setup(){
TimerConfigure (TIMER0_BASE、(TIMER_CFG_SPLIT_PAIR | TIMER_CFG_A_PERIODICASE));
TimerPrescaleSet (TIMER0_BASE、TIMER_A、1);//Prescaler 为1/2。
TimerLoadSet (TIMER0_BASE、TIMER_A、(30720>>speedFactor));
//定时器从装载值开始递减计数

/*启用中断,并注册中断处理程序*/

//启用处理器中断
IntMasterEnable();

// Timer0A 超时中断
TimerIntEnable (TIMER0_BASE、TIMER_TINA_TIMEOUT);

//在处理器上启用 Timer0A 中断
IntEnable (INT_TIMER0A);

/*注册计时器中断处理程序:计时器时要执行的函数
超时。*/
TimerIntRegister (TIMER0_BASE、TIMER_A、Timer0AIntHandler);

当我运行这个时、我得到错误:'INT_TIMER0A'未在这个范围内声明。

我通读了 TivaWare 指南,它说这些 INT_*值是根据使用的部件定义的,与 GPIO 引脚类似。 浏览完头文件后,我无法在 interrupt.h 文件或其它任何地方找到 INT_*值的定义。 是否缺少中断映射头文件?

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

    您好 Brian、

     您是否有如下所示的预定义名称?

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

    您好、Charles、

    感谢您的快速回复。 我有预定义的名称。

    此外、我还应该提到、我已经使用过 GPIO 引脚宏、并且没有任何问题。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Brian、
    不知道为什么会出现编译错误。 我建议您在下运行 timers.c 示例 /examples/boards/ek-tm4c1294xl/timers. 此示例使用 IntEnable (INT_TIMER0A)、编译它不会出现问题。 我希望这个示例可以成为一个良好的起点。 将此示例导入您的工作区、您可以修改 timers.c 或替换为您自己的、看看您是否仍然遇到编译错误。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    因此、事实证明、我很愚蠢、忘记 了#include 。 此文件包含所有必要的宏。 感谢 Charles 的帮助!

    Brian