TI中文支持网
TI专业的中文技术问题搜集分享网站

28335调试问题请教

我正在调试一块自制的28335电机控制板,出现了一个奇快的现象:仿真器对28335 reset以后,程序load一次后PWM波并没有输出,但是通过wach变量和寄存器内容表明程序确实在运行(变量和寄存器值都是正常变化);在不复位的情况下重新load程序,一切ok,pwm输出正常。请问出现这种现象的原因可能有那些?

CCS版本:3.3和4.1.2 都试过 仔细检查了GPIO寄存器的设置,没有错误

chen honkichen:

另:仿真器型号为xds100_link 和 xds510usb 都试过

我正在调试一块自制的28335电机控制板,出现了一个奇快的现象:仿真器对28335 reset以后,程序load一次后PWM波并没有输出,但是通过wach变量和寄存器内容表明程序确实在运行(变量和寄存器值都是正常变化);在不复位的情况下重新load程序,一切ok,pwm输出正常。请问出现这种现象的原因可能有那些?

CCS版本:3.3和4.1.2 都试过 仔细检查了GPIO寄存器的设置,没有错误

chen honkichen:

程序的初始化是按照例程一步步来的,目前还没有发现问题。现在还是第一次程序load后PWM没有输出,二次load后程序正常了。

另外今天试了一个简单的GPIO Toggle的例程,运行正常,说明硬件没有什么问题。所以还是没有头绪。

我正在调试一块自制的28335电机控制板,出现了一个奇快的现象:仿真器对28335 reset以后,程序load一次后PWM波并没有输出,但是通过wach变量和寄存器内容表明程序确实在运行(变量和寄存器值都是正常变化);在不复位的情况下重新load程序,一切ok,pwm输出正常。请问出现这种现象的原因可能有那些?

CCS版本:3.3和4.1.2 都试过 仔细检查了GPIO寄存器的设置,没有错误

Forrest:

回复 chen honkichen:

把所有变量都在程序中赋初值。比如int i;改成int i=0;,把所有用到的模块的寄存器都一一初始化

估计赋好初值之后的结果应该是,第一次load没输出,第二次也没输出:)

我正在调试一块自制的28335电机控制板,出现了一个奇快的现象:仿真器对28335 reset以后,程序load一次后PWM波并没有输出,但是通过wach变量和寄存器内容表明程序确实在运行(变量和寄存器值都是正常变化);在不复位的情况下重新load程序,一切ok,pwm输出正常。请问出现这种现象的原因可能有那些?

CCS版本:3.3和4.1.2 都试过 仔细检查了GPIO寄存器的设置,没有错误

chen honkichen:

回复 Jones Chen:

确实在EPwm初始化存在问题。程序中原始做法是对EPwm1Regs.TBPRD赋值后接着对EPwm1Regs.TBCTL赋值,结果发现EPwm1Regs.TBPRD寄存器值竟然清零了。现在改成EPwm1Regs.TBCTL赋值放在EPwm1Regs.TBPRD赋值之前,目前看起来程序ok。为什么这样正在分析中。我以前做的2808系统貌似没有这种想象。谢谢 Forrest和Jones Chen的解答。

赞(0)
未经允许不得转载:TI中文支持网 » 28335调试问题请教
分享到: 更多 (0)