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.

TM4C1294 TIMER B 的问题

为什么我按照timer A配置成pwm的方法配置timer b,但是timer b却输出不了pwm,而且timer b 的定时器值一直都没变

下面是代码:

SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER5);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOM);

TimerClockSourceSet(TIMER5_BASE,TIMER_CLOCK_SYSTEM);

TimerConfigure(TIMER5_BASE,TIMER_CFG_SPLIT_PAIR |TIMER_CFG_B_PWM|TIMER_CFG_B_ACT_CLRSETTO);//pwm模式

TimerControlLevel(TIMER5_BASE,TIMER_B,true);

TimerLoadSet(TIMER5_BASE,TIMER_B,ui32Load);  //pwm周期
TimerMatchSet(TIMER5_BASE,TIMER_B,ui32Load/2);  //占空比
TimerEnable(TIMER5_BASE,TIMER_B);

GPIOPinConfigure(GPIO_PM7_T5CCP1);

GPIOPinTypeTimer(GPIO_PORTM_BASE,GPIO_PIN_0|GPIO_PIN_7);

  • 我查看了TIMER B寄存器的内容,发现和配置的不一样,然后用写寄存器的方法去配置timer b,结果可以了,这是不是说明官方的库函数有问题,还是我使用库的方法有不当,希望有人指点一下

  • 库函数没有问题,将顺序调整一下。

    你可以跑一下附件中例程。

    http://www.deyisupport.com/cfs-file.ashx/__key/communityserver-discussions-components-files/96/4555.pwm.c

    King YAO 说:

    为什么我按照timer A配置成pwm的方法配置timer b,但是timer b却输出不了pwm,而且timer b 的定时器值一直都没变

    下面是代码:

    SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER5);
    SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOM);

    TimerClockSourceSet(TIMER5_BASE,TIMER_CLOCK_SYSTEM);

    TimerConfigure(TIMER5_BASE,TIMER_CFG_SPLIT_PAIR |TIMER_CFG_B_PWM|TIMER_CFG_B_ACT_CLRSETTO);//pwm模式

    TimerControlLevel(TIMER5_BASE,TIMER_B,true);

    GPIOPinConfigure(GPIO_PM7_T5CCP1);

    GPIOPinTypeTimer(GPIO_PORTM_BASE,GPIO_PIN_0|GPIO_PIN_7);

    TimerLoadSet(TIMER5_BASE,TIMER_B,ui32Load);  //pwm周期
    TimerMatchSet(TIMER5_BASE,TIMER_B,ui32Load/2);  //占空比
    TimerEnable(TIMER5_BASE,TIMER_B);

  • 多谢多谢,还想问个问题,我在得库文件夹中并未找到你给的这种例程,都是那种针对口袋板的例程,我可以去那找到这种例程呢

  • Tivaware中有的。

    外设例程 C:\ti\TivaWare_C_Series-2.1.1.71\examples\peripherals

    评估板例程 C:\ti\TivaWare_C_Series-2.1.1.71\examples\boards

  • 奇怪,你这个变了顺序的,为什么CAN0可以用,CAN1不可以用呢

  • 其实都没问题的,后来我发现原来是为在查看库函数文件的过程中,不小心把配置宏定义改了,好尴尬哈哈

  • 这样也可以。看来TI做的lib库果然是有用的,不给任何人修改库的机会。