This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

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

以上

        此致

敬礼