我正在ECM上工作(使用gcc编译器,我们生成十六进制文件并将其刷新到控制器上)

有一个代码x=(a+b)/2,无论ab的值如何,但是x中的值始终为零。

我在x上存在循环条件,这导致我的ECM重置。

知道出了什么问题吗?

我尝试过的事情:


在此之上添加了一些冗余代码->不值得,编译器对其进行了优化
我怀疑编译器的优化->因此,请看一下汇编代码,但这也无济于事
使变量成为全局变量(在私有之前)->输出相同


您能说明我还能尝试什么吗?

这也是一个自动编码(使用MATLAB建模)。

最佳答案

volatile限定词添加到ab的声明中。

09-11 18:51
查看更多