牛卧堂MCU技术交流

标题: 请教关于EPWM accumulator的疑问! [打印本页]

作者: 匿名    时间: 2023-10-10 20:41
标题: 请教关于EPWM accumulator的疑问!
    EPWM_EnableAcc(EPWM1, 0, 10, EPWM_IFA_ZERO_POINT);
这个是控制自动产生10个累加器然后自动关闭PWM输出吗?

void EPWM1P0_IRQHandler(void)
{
    EPWM_ClearAccInt(EPWM1, 0);
}


试验了一下 貌似又无法实现!


作者: 匿名    时间: 2023-10-10 21:58
这样的好处,是不是可以避免重复的产生中断,可以达到控制脉冲个数的应用?例如控制PWM转动的角度,避免多次进入PWM中断?
作者: wangjiahao88    时间: 2023-10-11 11:00
我在使用的时候,测试PWM ACC的例程,出现的是反复打印输出了;请问这个是不是不正常的现象?

ACC.png (268.28 KB, 下载次数: 167)

ACC.png

作者: wangjiahao88    时间: 2023-10-11 17:29
这个问题 得到验证的是:
BSP包的例程,在M467,M483KGCAE2A,M483KGCAE,这些物料,都不会存在问题。
在M483KIDAE会出问题。
作者: wangjiahao88    时间: 2023-10-11 17:44
支持EPWM输出累加器停止计数器模式 (M48xGC/M48xE8)

作者: wangjiahao88    时间: 2023-10-11 17:44
其,他,型,号,不,支,持
作者: 匿名    时间: 2023-10-11 19:43
void EPWM_EnableAcc(EPWM_T *epwm, uint32_t u32ChannelNum, uint32_t u32IntFlagCnt, uint32_t u32IntAccSrc)
{
    (epwm)->IFA[u32ChannelNum] = (((epwm)->IFA[u32ChannelNum] & ~((EPWM_IFA0_IFACNT_Msk | EPWM_IFA0_IFASEL_Msk))) | \
                                  (EPWM_IFA0_IFAEN_Msk | (u32IntAccSrc << EPWM_IFA0_IFASEL_Pos) | u32IntFlagCnt) );
}

这个函数,如果要一次性发送 >65536个脉冲,可以修改吗?
作者: chrishu    时间: 2023-10-12 13:51
M480系列的(M48xGC/M48xE8)才支持累加器停止功能。都支持累加中断功能,累加中断可以减少进中断的次数。累加计数器是16位的,最大只能到65535  




欢迎光临 牛卧堂MCU技术交流 (http://nuvoton-mcu.com/) Powered by Discuz! X3.2