TI中文支持网
TI专业的中文技术问题搜集分享网站

EK-TM4C1294XL定时器如何不用中断输出指定频率的方波脉冲

各位老师,我想采用EK-TM4C1294XLTimer5 T5CCP0 PB2输出指定频率的方波脉冲,作了下面的程序,但一直无输出,不知道问题在哪里,请给与指正.

main()

{

// Set the clocking to run directly from the crystal at 120MHz.

    g_ui32SysClock = MAP_SysCtlClockFreqSet((SYSCTL_XTAL_25MHZ | SYSCTL_OSC_MAIN |SYSCTL_USE_PLL|SYSCTL_CFG_VCO_480), 120000000);

    ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA);

    ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB);

    ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER5);

    ROM_GPIOPinTypeTimer(GPIO_PORTB_BASE, GPIO_PIN_2);

    ROM_GPIOPinConfigure(GPIO_PB2_T5CCP0);

    ROM_GPIODirModeSet(GPIO_PORTB_BASE, GPIO_PIN_2, GPIO_DIR_MODE_OUT);

    ROM_TimerConfigure(TIMER5_BASE, TIMER_CFG_PERIODIC);

    ROM_TimerLoadSet(TIMER5_BASE, TIMER_A, g_ui32SysClock/2);

    ROM_TimerEnable(TIMER5_BASE, TIMER_A);

    while(1)
    {
    }

}

xyz549040622:

定时器不用中断,要输出指定频率的脉冲,不可能的。定时器的核心就是中断,不用定时器的话,只能人为的拉高或者拉低IO,中间加延时吧。

si si:

回复 xyz549040622:

好像Datasheet上关于定时器说明中有介绍可以从CCP输出,况且CCP作为事件捕捉可以作为输入源,TI DSP芯片中的定时器是可以不经中断在计数周期到达自动输出一个脉冲.若用中断的话由于硬件中断的优先级会导致输出脉冲频率误差,而且程序也会变得复杂. 真的不行只能用中断了.

xyz549040622:

回复 si si:

你说的那个是PWM,这个确实是可以的,PWM引脚输出固定的频率。需要使能PWM功能的。

Ken Wang:

你用的是Timer寄存器的功能,这个可以输出方波,但是确实需要在终端里面翻转电平。

用PWM模块的话,可以设置周期和占空比,然后硬件输出你要的方波。

建议看看tiva-ware里面关于PWM模块的应用。

谢谢

赞(0)
未经允许不得转载:TI中文支持网 » EK-TM4C1294XL定时器如何不用中断输出指定频率的方波脉冲
分享到: 更多 (0)