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

280049C CLA2背景任务被中断之后执行结果异常

Other Parts Discussed in Thread:C2000WARE

在例程“cla_ex4_pwm_control”的基础上修改的程序:

CPUTimer0运行在50KHz:1.CPUTimer0中端处理程序生成一个50Hz交流信号,传递给CLA。之后再使能CLA task3。

  2.CPUTimer0触发CLA background任务,接收从CPU传来的交流信号,执行锁相环(中途会被task3打断)。

CLA 背景任务不被中断的话执行结果正常:

CLA背景任务被task3中断之后运行结果异常:

cla_ex4_pwm_control__.zip

shu hai feng:

正常的结果

,

Susan Yang:

请问您现在使用的是launchpad还是自己的硬件?若是可以的话,请您私信一下工程,我们具体测试一下,谢谢

,

shu hai feng:

你好,使用的是launchpad,工程已经私信

,

Susan Yang:

好的,我会在测试后给您回复

,

Susan Yang:

请问您是可以成功编译的吗?我这边编译会报错

,

shu hai feng:

我的环境是CCS10.1,编译正常

,

Susan Yang:

请问您的编译器版本呢?C2000ware版本是多少?我这边报了很多错误

,

shu hai feng:

CCS10.1

C2000Ware_3_02_00_00    

C2000Ware_DigitalPower_SDK_3_00_01_00

我把引用的库全部打包放到文件里面发给您,试一下。

,

Susan Yang:

我这边可以正常编译了。使用开发板launchpad测试了一下,fo fn 和您正常的测试是基本相同的

"CLA背景任务被task3中断之后运行结果异常"

请问您是如何操作的(CLA背景任务被task3中断)? 我这边没有看到CLA背景任务被task3中断

,

shu hai feng:

control.c里面,在CPU的timer0中断处理程序里面用软件使能的,CLA_forceTasks(CLA1_BASE, CLA_TASKFLAG_3);

上一次我测试的时候注释掉这一行结果正常,不注释掉结果就不对。

后续测试

中断程序里面while(0)//(EPwm1Regs.TBCTR-tt1)<400){NOP;}
这一段换成

for(i=0,i<20,i++)
{
}
CLA那边也会正常执行

如果把循环条件改到100变成
for(i=0,i<100,i++)
{
}

CLA那边结果也会不正常。

,

Susan Yang:

谢谢您的详细反馈。我会在测试后给您回复

,

Susan Yang:

shu hai feng 说:在CPU的timer0中断处理程序里面用软件使能的, CLA_forceTasks(CLA1_BASE, CLA_TASKFLAG_3); 上一次我测试的时候注释掉这一行结果正常,不注释掉结果就不对

我直接使用您给出的程序测试,结果是正常的

shu hai feng 说:如果把循环条件改到100变成 for(i=0,i<100,i++) { } CLA那边结果也会不正常。

根据您的描述,这更像是在中断服务中处理的时间太长了,增加了中断处理时间。如果有其它低级中断了,就会延误响应中断或者造成其他意外结果。

一般在中断子程序中不要写调用循环或者延时子程序,中断子程序也不要写得过长,处理过多的任务,要尽快处理后及时返回

,

shu hai feng:

感谢您的回复,我试了一下上次提供的工程,结果确实和你一样。应该是不小心把哪里改掉之后正常了。

至于中断的问题,CPU中断只打开了INT1,PIEIER1里面只打开了INTX.7 。看门狗关闭。NMIFLG显示没有发生NMI中断。应该没有别的中断了吧?

这个问题后续又断断续续的出现,让人头大。如果方便的话我重新提供一下工程,cla_ex4_pwm_control.c这个文件里面:245行到263行,注释掉结果正常,执行的话CLA那边又出问题。

另外调试的时候初始化完成之后(未开始执行main()),寄存器就已经显示

CPUWRITE 1 Master CPU Write Access Violation Flag

地址 0x00001480

MCPUWRAVADDR 00000000000000000001010010000000 Master CPU write access violation address register.

这个会是什么原因?

赞(0)
未经允许不得转载:TI中文支持网 » 280049C CLA2背景任务被中断之后执行结果异常
分享到: 更多 (0)