大家好!
我的客户遇到了 CLA 问题。 首先、CLA 正常运行。 在 CLA 任务中更改一段代码后、从
for (I=0;I<1;I++); //案例1
至
for (I=0;I<2;I++);//案例2
CLA 不再进入任务。 这只是一个空循环。 实际上、 程序 永远不会 到达这个循环、因为这个循环有"if"条件、而且这个条件总是为 false。 似乎这里唯一的区别是 代码稍大。
此外、如果编译优化被关闭、CLA 在这两种情况下都不会进入任务。
在第2种情况中、我可以看到 MIFR 位和 MIOVF 位在不断切换、但任务中具有增量运算符的变量没有增加。
CLA 任务由 ADC 以55kHz 的频率触发。 在第1种情况中、CLA 需要8us 才能完成任务。
有任何想法、可能是什么原因造成的?
谢谢。
挂起、