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

28035 CLA应用中,如果把定时器0启动,CLA程序就进不去了

使用28035的CLA例程就行修改,添加了定时器0程序,若不启动定时器0,CLA程序能正常运行;若启动定时器0,即StartCpuTimer0();CLA程序就无法运行了,CLA的中断标志位一直为1,即Cla1Regs.MIRUN.bit.INT1恒为1,不知道定时器0与CLA相互影响引起的吗?

Susan Yang:您可以看一下安装文件内的文档

controlSUITE/device_support/f2803x/v130/doc/f2803x-FRM-DEV-PKG-UG.pdf

5.7.2 Benchmarking

The CLA does not support the clock function and therefore it is not possible to get a direct cycle count of a particular task. The user can configure the time base module on an ePWM to keep track of the execution time of a task.

使用28035的CLA例程就行修改,添加了定时器0程序,若不启动定时器0,CLA程序能正常运行;若启动定时器0,即StartCpuTimer0();CLA程序就无法运行了,CLA的中断标志位一直为1,即Cla1Regs.MIRUN.bit.INT1恒为1,不知道定时器0与CLA相互影响引起的吗?

Jie Li21:

回复 Susan Yang:

感谢你的回答,我的程序里面是将CLA与timer0作为两个独立的外设来使用,并非是timer0来触发CLA里面的任务;测试发现,启动timer1对CLA的正常进入无影响,启动timer0,软件触发CLA的任务1,CLA任务1的中断标识一直为1,不自动清零,关闭timer0后CLA就有正常了。

使用28035的CLA例程就行修改,添加了定时器0程序,若不启动定时器0,CLA程序能正常运行;若启动定时器0,即StartCpuTimer0();CLA程序就无法运行了,CLA的中断标志位一直为1,即Cla1Regs.MIRUN.bit.INT1恒为1,不知道定时器0与CLA相互影响引起的吗?

Susan Yang:

回复 Jie Li21:

请问您现在使用的具体是哪个例程?能否提供下timer0的相关代码?

使用28035的CLA例程就行修改,添加了定时器0程序,若不启动定时器0,CLA程序能正常运行;若启动定时器0,即StartCpuTimer0();CLA程序就无法运行了,CLA的中断标志位一直为1,即Cla1Regs.MIRUN.bit.INT1恒为1,不知道定时器0与CLA相互影响引起的吗?

Jie Li21:

回复 Susan Yang:

感谢你的回答,找到原因了,CLA寄存器的设置有先后顺序://步骤1EALLOW;Cla1Regs.MMEMCFG.bit.PROGE= 1;Cla1Regs.MCTL.bit.IACKE= 1;Cla1Regs.MMEMCFG.bit.RAM0E= 1;Cla1Regs.MMEMCFG.bit.RAM1E= 1;EDIS;//步骤2EALLOW;Cla1Regs.MPISRCSEL1.bit.PERINT1SEL= CLA_INT1_NONE;Cla1Regs.MIER.all= 0x00FF;EDIS;
我把步骤2放在步骤1之前了,引起的错误,要严格按照寄存器推荐的设置流程来,再次感谢。

使用28035的CLA例程就行修改,添加了定时器0程序,若不启动定时器0,CLA程序能正常运行;若启动定时器0,即StartCpuTimer0();CLA程序就无法运行了,CLA的中断标志位一直为1,即Cla1Regs.MIRUN.bit.INT1恒为1,不知道定时器0与CLA相互影响引起的吗?

Susan Yang:

回复 Jie Li21:

很高兴您能解决问题!谢谢分享

赞(0)
未经允许不得转载:TI中文支持网 » 28035 CLA应用中,如果把定时器0启动,CLA程序就进不去了
分享到: 更多 (0)