请教TI的工程师:
我自己画了一块28335控制板,现处于调试阶段。之前调试AD程序时,只能在第一次下载程序后才能进入中断,如果我修改程序,重新下载,则无法进入中断,此时我需要断电后重新上电再下载程序才能进入中断。我用seed公司的例程,也是这样的现象。
现在在调试EPWM,现象是这样的:第一次下载程序后,点击运行无法进入中断,然后点击Restart则能进入中断(可以连续进入),但是此后若重新下载程序,则无法进入中断,必须断电→上电→下载程序→运行→restart才能进入中断。
请问TI的工程师,这个现象可能的原因是什么?
Forrest:
C2000芯片只要符合附件的要求,就会进入中断,楼主可以看看什么地方不符合要求导致无法进入中断。
可能的原因是:
第一次上电运行程序–>修改了某个变量在RAM中的值–>由于程序没能很好初始化,该值影响第二次运行–>断电→上电→RAM中的数值丢失–>下载程序→运行→restart才能进入中断
请教TI的工程师:
我自己画了一块28335控制板,现处于调试阶段。之前调试AD程序时,只能在第一次下载程序后才能进入中断,如果我修改程序,重新下载,则无法进入中断,此时我需要断电后重新上电再下载程序才能进入中断。我用seed公司的例程,也是这样的现象。
现在在调试EPWM,现象是这样的:第一次下载程序后,点击运行无法进入中断,然后点击Restart则能进入中断(可以连续进入),但是此后若重新下载程序,则无法进入中断,必须断电→上电→下载程序→运行→restart才能进入中断。
请问TI的工程师,这个现象可能的原因是什么?
user1916977:
回复 Forrest:
你好,我用合众达公司的例程,也是这个现象,所以应该不是寄存器设置不合理。
更确切的现象是:上电后第一次下载程序→go main→运行(此时无法进入中断,原因是EPWM的计数器没有开始计数,TBCTR一直为0)→restart→go main→运行(此时能够正常进入中断)→第二次下载程序→与第一次下载程序后的步骤相同,但无法进入中断;点击reset CPU后,再下载程序,则相当于第一次下载程序。
从网上查找到的原因,初步怀疑2个方面的原因:
1)gel文件:ccs打开project文件后,gel并未自动加载,需要手动加载。
2)boot模式:这块板上,GPIO84-87引脚连到了CPLD,但现在CPLD还未焊接,所以这些引脚相当于悬空。
继续请教TI的工程师们。
请教TI的工程师:
我自己画了一块28335控制板,现处于调试阶段。之前调试AD程序时,只能在第一次下载程序后才能进入中断,如果我修改程序,重新下载,则无法进入中断,此时我需要断电后重新上电再下载程序才能进入中断。我用seed公司的例程,也是这样的现象。
现在在调试EPWM,现象是这样的:第一次下载程序后,点击运行无法进入中断,然后点击Restart则能进入中断(可以连续进入),但是此后若重新下载程序,则无法进入中断,必须断电→上电→下载程序→运行→restart才能进入中断。
请问TI的工程师,这个现象可能的原因是什么?
user1916977:
回复 Forrest:
你好,这个问题是由于我在main函数中for循环(死循环)之前加了一条语句IFR=0x0000,在这句语句之前EPWM已经产生了一个中断,IFR清空后CPU不会进入中断程序,但EPWM的中断标志没有清空,阻塞了后续中断,所以把EPWM中断清空就可以了。
但是上电后第一次运行程序必须要restart的问题还没解决:每次板子上电后第一次下载并运行程序,EPWM不能工作,计数器的值一直为0,必须要restart后EPWM才能正常工作。之前使用2812的EV也遇到过这个问题,请指点。
请教TI的工程师:
我自己画了一块28335控制板,现处于调试阶段。之前调试AD程序时,只能在第一次下载程序后才能进入中断,如果我修改程序,重新下载,则无法进入中断,此时我需要断电后重新上电再下载程序才能进入中断。我用seed公司的例程,也是这样的现象。
现在在调试EPWM,现象是这样的:第一次下载程序后,点击运行无法进入中断,然后点击Restart则能进入中断(可以连续进入),但是此后若重新下载程序,则无法进入中断,必须断电→上电→下载程序→运行→restart才能进入中断。
请问TI的工程师,这个现象可能的原因是什么?
Forrest:
回复 user1916977:
EPWM不计数,是否有 SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC 是否为一,是否有允许PWM模块的时钟。建议用TI的例程调试。
请教TI的工程师:
我自己画了一块28335控制板,现处于调试阶段。之前调试AD程序时,只能在第一次下载程序后才能进入中断,如果我修改程序,重新下载,则无法进入中断,此时我需要断电后重新上电再下载程序才能进入中断。我用seed公司的例程,也是这样的现象。
现在在调试EPWM,现象是这样的:第一次下载程序后,点击运行无法进入中断,然后点击Restart则能进入中断(可以连续进入),但是此后若重新下载程序,则无法进入中断,必须断电→上电→下载程序→运行→restart才能进入中断。
请问TI的工程师,这个现象可能的原因是什么?
user1916977:
回复 Forrest:
EPWM不计数是在上电后第一次下载程序运行,restart后就可以了。我用TI的例程没有这个问题,我再看看。多谢你的回复。
请教TI的工程师:
我自己画了一块28335控制板,现处于调试阶段。之前调试AD程序时,只能在第一次下载程序后才能进入中断,如果我修改程序,重新下载,则无法进入中断,此时我需要断电后重新上电再下载程序才能进入中断。我用seed公司的例程,也是这样的现象。
现在在调试EPWM,现象是这样的:第一次下载程序后,点击运行无法进入中断,然后点击Restart则能进入中断(可以连续进入),但是此后若重新下载程序,则无法进入中断,必须断电→上电→下载程序→运行→restart才能进入中断。
请问TI的工程师,这个现象可能的原因是什么?
user1916977:
回复 user1916977:
终于找出解决办法了:我设置EPWM计数器时,先设定周期寄存器EPwm1Regs.TBPRD=7500,然后再设定EPwm1Regs.TBCTL.bit.PRDLD = 1(主寄存器从映像寄存器中立即加载)。我改成先设定立即加载再设定周期寄存器,或者直接改成映射方式,则问题得到解决。只是还不清楚这个问题的具体原因。