Part Number:TMS320F28335
Dear everyone:
我在利用DMA搬运装ePWM的周期值与比较值的时候,为了使DMA响应epwm需要配置ePWM/HRPWM模块重新映射到PF3·,查阅了相关资料后,我写了如下代码:
volatile Uint16 *MAPCNF=(Uint16 *)0x702E; EALLOW; *MAPCNF|=0x01; EDIS;
可是当我在epwm模块加上这些代码后,epwm就无法产生波形了,ccs的register里面epwm和epwmmirror值都为零,
lion lee:
使用了CCS debug工具,一行一行代码执行下来并看寄存器的值,终于知道了原因。这行代码没有错,确实是这样写的,主要的是代码放的位置很重要。要在epwm初始化函数里要放在最后,或者是放在epwm函数体后面执行。原因是要先等各个初始化值例如时钟频率,cmpa,向上计数等先存入epwm的寄存器里面,等运行到映射代码时,会把所有值一起载入epwm mirro 里面,这个时候就可以产生波形了。重要的是代码放的位置。