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

AM2434: AM2434 定时和PWM

Part Number:AM2434

你好!

1:我设置定时器并开启中断,但是无法触发中断,请帮检查下程序,是否初始化和TimerP_start(gTimerBaseAddr[TIMER0_WU])就可以了?

2:设置PWM中断: EPWM_etIntrCfg(epwmBaseAddr, EPWM_ET_INTR_EVT_CNT_EQ_ZRO,
EPWM_ET_INTR_PERIOD_FIRST_EVT); 并在中断处理函数中判断flag==2的时候置高GPIO。

现象并不是在第二个PWM处进行置高的,这是为什么啊?

并且触发的点也不是在计数为0的点。请问以上可能是什么问题啊?

Cherry Zhou:

您好,我们已收到您的问题并升级到英文论坛寻求帮助,如有答复将尽快回复您。谢谢!

,

Cherry Zhou:

您好,

能再多提供一些细节吗?计时器中断没有被触发是吗?

jiehui Wu 说:TimerP_start(gTimerBaseAddr[TIMER0_WU])就可以了

是的,如果没有在 syscfg 计时器配置中选中time start按钮,那么就必须启动计时器。

jiehui Wu 说:EPWM_etIntrCfg(epwmBaseAddr, EPWM_ET_INTR_EVT_CNT_EQ_ZRO, EPWM_ET_INTR_PERIOD_FIRST_EVT);

请问ePWM 和计时器在配置中是如何互连的? 还是说这两个分别有问题?

从您给出的图来看(指的是包含触发点的图像),我们假设黄色线是 PWM 波形,蓝色线是在 CTR = 0时进入 EPWM 中断的时间。

关于在 CTR = 0事件一段时间后被触发的中断,这是因为软件会有一些接近600nsec 的中断延迟,来处理实际的应用 ISR并为其服务。 这个600nsec 处于Release mode。

如需更多信息,请参阅以下链接:

想要从计时器创建中断,请参考以下示例:

https://software-dl.ti.com/mcu-plus-sdk/esd/AM263X/latest/exports/docs/api_guide_am263x/EXAMPLES_KERNEL_DPL_INTERRUPT_PRIORITIZATION.html

在这个示例中,您可以看到3个具有优先级的定时器中断:

要想在 ePWM 上创建中断,请参考以下示例:  

https://software-dl.ti.com/mcu-plus-sdk/esd/AM263X/latest/exports/docs/api_guide_am263x/EXAMPLES_DRIVERS_EPWM_HR_DUTY_CYCLE.html

赞(0)
未经允许不得转载:TI中文支持网 » AM2434: AM2434 定时和PWM
分享到: 更多 (0)