i test on am437x idk. using PRU IDK 5.0's example to control via constant table. But i found that i can not control it by running program. TI could offer some demo to show how to control ehrpwm on PRU?
Jian Zhou:
这里是可以写中文的,请问你是想做电机控制的应用么?
yude zhang2:
回复 Jian Zhou:
是的,pru控制arm上面的pwm资源来控制电机,同时通过constant table来获取相位差的计数。现在不懂怎么在pru上用constant table来操作这两个资源?
我做了如下的尝试
在pru sdk提供的pru_access_constant_table的例子中,引用了#include <sys_pwmss.h>,该头文件定义了pwmss0,pwmss1,pwmss2三个结构体。他们涵盖了
pwm操作的所有寄存器。我在main函数中使能了ehprm1的时钟,设置了时间,设置了比较寄存器A的值,并且设置了模式为up-dowm,在对应的引脚上面接了示波器,没有看到有输出,操作步骤有没有什么缺的?有没有什么现成的例子来通过constant table访问ehrpwm的?
核心几行代码如下
PWMSS1.CLKCONFIG_bit.EPWMCLK_EN = 1; PWMSS1.EPWM_TBPRD = 0x4B0; PWMSS1.EPWM_CMPA = 0x250; PWMSS1.EPWM_AQCTLA = 0x30;