Ti 工程师,您好:
我测试使用ehrpwm1A以及ehrpwm1B分别进行PWM输出。当两个PWM均调用了pwm_stop()停止输出后,调用pwm_start启动其中之一开始输出,这是另一通道X也同时自动输出。而且,通过echo /sys/class/pwm/ehrpwm.1:X时,发现这时它是0,以下是调用pwm_start时对PWMSS寄存器及EPWM1寄存器的当前值打印:
请问这种情况怎么去定位解决?
请帮忙分析,谢谢!
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.
Ti 工程师,您好:
我测试使用ehrpwm1A以及ehrpwm1B分别进行PWM输出。当两个PWM均调用了pwm_stop()停止输出后,调用pwm_start启动其中之一开始输出,这是另一通道X也同时自动输出。而且,通过echo /sys/class/pwm/ehrpwm.1:X时,发现这时它是0,以下是调用pwm_start时对PWMSS寄存器及EPWM1寄存器的当前值打印:
请问这种情况怎么去定位解决?
请帮忙分析,谢谢!
您好!Shine,
是的,在两个通道都stop的情况下,只要start其中之一,另一个就同时输出了。Shine 说:ehrpwm1A和ehrpwm1B单独使用是没有问题的是吗?
sdk tar包名称是 "ti-sdk-am335x-evm-06.00.00.00.tar.gz",我在调试后,发现跟AQCTLB的值被置零有关,函数是ehrpwm_channel_output_enable(),在里面的ehrpwm_aq_set_csfrc_load_mode()调用后AQCTLB的值就变成了0,我恢复了另一通道的AQCTLB设置就没有这个现象了,现在在继续确认这种解决方法是否可行,不知您可否帮我分析下这样做是否稳妥?谢谢啊!Shine 说:请问您使用的是哪个版本的processor SDK?