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.

[参考译文] TM4C129XNCZAD:在 TM4C129XNZAD 中使用计时器时延迟一秒

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1160476/tm4c129xnczad-one-second-delay-using-timer-in-tm4c129xnzad

器件型号:TM4C129XNCZAD
Thread 中讨论的其他器件:EK-TM4C1294XL

您好!

我正在使用 TM4C129XNZAD 微控制器、我想使用计时器概念应用一秒延迟、您能告诉我如何实施代码、还是与计时器共享样本代码一秒延迟。

谢谢、请就此为我提供帮助、我正在等待您的回复。

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

    您好!

     有一个相关示例。 请参阅:

    C:\ti\TivaWare_C_Series-2.2.0.295\examples\peripherals\timer\OneShot_16bit.c \\ 此示例展示了如何将 Timer0B 配置为单次触发计时器、并在1ms 后触发单次中断。

    C:\ti\TivaWare_C_Series-2.2.0.295\examples\peripheral\timer\period_16bit.c \\ 此示例展示了如何将 Timer0B 配置为周期性计时器、每1ms 触发一次中断。

    另一个定时器示例可在 C:\ti\TivaWare_C_Series-2.2.0.295\examples\boards\ek-tm4c1294xl\timers 中找到。

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

    您好!

    感谢您的回复。

    我要问一秒延迟示例代码。

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

    您好、Charles、

    您能不能为我提供帮助、我想实现具有 一些秒延迟的中断的计时器。 如何实现、请告诉我。 我不熟悉该控制器。 请提供一些示例代码、或者与我分享一些与我的任务相关的代码。

    非常感谢您的帮助。

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

    您好!

     您是否了解 了我在上次答复中列出的示例 C:\ti\TivaWare_C_Series-2.2.0.295\examples\boards\ek-tm4c1294xl\timers? 它正按照您的需要进行操作-生成1秒的延迟。 为什么不通过代码来查看两个计时器如何配置为生成1秒半的中断。 下面是代码片段。

        //
        // Enable the GPIO port that is used for the on-board LEDs.
        //
        MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPION);
    
        //
        // Enable the GPIO pins for the LEDs (PN0 & PN1).
        //
        MAP_GPIOPinTypeGPIOOutput(GPIO_PORTN_BASE, GPIO_PIN_0 | GPIO_PIN_1);
    
    
        //
        // Enable the peripherals used by this example.
        //
        MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER0);
        MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER1);
    
        //
        // Enable processor interrupts.
        //
        MAP_IntMasterEnable();
    
        //
        // Configure the two 32-bit periodic timers.
        //
        MAP_TimerConfigure(TIMER0_BASE, TIMER_CFG_PERIODIC);
        MAP_TimerConfigure(TIMER1_BASE, TIMER_CFG_PERIODIC);
        MAP_TimerLoadSet(TIMER0_BASE, TIMER_A, g_ui32SysClock);
        MAP_TimerLoadSet(TIMER1_BASE, TIMER_A, g_ui32SysClock / 2);
    
        //
        // Setup the interrupts for the timer timeouts.
        //
        MAP_IntEnable(INT_TIMER0A);
        MAP_IntEnable(INT_TIMER1A);
        MAP_TimerIntEnable(TIMER0_BASE, TIMER_TIMA_TIMEOUT);
        MAP_TimerIntEnable(TIMER1_BASE, TIMER_TIMA_TIMEOUT);
    
        //
        // Enable the timers.
        //
        MAP_TimerEnable(TIMER0_BASE, TIMER_A);
        MAP_TimerEnable(TIMER1_BASE, TIMER_A);