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

TMS320F28377S: CLA使用时遇到的问题

Part Number:TMS320F28377S

你好,在使用28377s的CLA时,我遇到了两个问题。

问题1:我在cpu中定义了一个Uint16的test_wm1,在CCS的memory中观察到如下所示:

又在CLA中定义了一个Uint16的CLA_count4,在CCS的memory中观察到如下所示:

前者可以明显看出来是16bit的,但后者却是32bit的

我知道数据格式在cpu和CLA中是不同的,也搜到了这样的答疑帖,比如int在CLA中是32bit,所以前人建议定义成short,包含头文件typedefs.h

这些我都试过了,包含头文件,定义成short,结果都是我在CLA定义的数据是32bit的,以至于后来我直接定义为Uint16,结果还是一样。

这是第一个需要请求帮助的地方

问题2:我设置的是pwm4计数达到1500时,产生中断触发CLA任务,在主循环中一切运行正常,确实是pwm计数达到1500时触发CLA,但我发现在我第一次打开pwm中断,

即下面这句话执行后,EPWM4Regs.ETSEL.bit.INTEN=1后,也会进入CLA一次。而此时pwm计数值还远远未达到1500

此现象每次都会产生,且即使我在EPWM4Regs.ETSEL.bit.INTEN=1语句之前,强行清零pwm计数值,一旦执行这句话,就会误触发CLA

以上

        此致

敬礼

Green Deng:

1、可以看一下这个链接的说明:https://software-dl.ti.com/C2000/docs/cla_software_dev_guide/faq.html#how-are-data-types-different-on-c28x-and-cla 

2、你看下是否是这种情况:

If interrupts are enabled, ETSEL[INTEN] = 1 and the interrupt flag is clear, ETFLG[INT] = 0, then an interrupt pulse is generated and the interrupt flag is set, ETFLG[INT] = 1, and the event counter is cleared ETPS[INTCNT] = 0. The counter will begin counting events again.

赞(0)
未经允许不得转载:TI中文支持网 » TMS320F28377S: CLA使用时遇到的问题
分享到: 更多 (0)