MCAL Pwm模块MPWM驱动MOD和PERIOD寄存器reload失败问题分析与解决
-
影响模块: HA01/MC03 MCAL RTM_v1.0.0 Pwm-> MPWM
① 在MPWM通道初始化函数**Pwm_Lld_Mpwm_InitChannel()**中,若该MPWM通道配置为软件触发模式,在未使能MPWM通道的情况下,就设置软件触发寄存器重载,是不能正常工作的,需要将通道使能后,再产生软件触发:
②在MPWM通道初始化API函数Pwm_Lld_Mpwm_InitChannel()和反初始化API函数Pwm_Lld_Mpwm_DeInitChannel()以及设置通道为idle的API函数Pwm_Lld_Mpwm_SetOutputToIdle()中调用了API函数MPWM_WaitWhile(),
该API函数以MPWM_RegistersIsLoading()返回的MPWM通道是否reload OK的结果作为条件,若未reload OK(FALSE)则进行timeout延迟,但仅做了一次判断,在配置使用PEROID作为重置trigger的情况下,若MPWM通道的周期配置较长(PEROID配置较大或者MPWM模块功能时钟分频值设置较大)时,会导致该检测机制失效,修复如下:
Note:以上API timeout值(PWM_LLD_MPWM_TIMEOUT_COUNT,32bit)在YCT中可进行配置,默认为65535
-
E Enwei 从 MCAL Private Issues 移动了该主题
-
J jiankang_wang 被引用 于这个主题
快速上手云途开发生态
发帖前请查看
帮助改进和优化YT CONFIG TOOL,有机会抽取YTM32B1ME0 EVB哦...