你好,在使用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
以上
此致
敬礼