0

我正在研究 ECM(使用gcc编译器,我们生成 hex 文件并将其闪存到控制器上)

有一个代码x=(a+b)/2,无论 and 的值是多少ab但 in 的值x始终为零。

我有一个循环条件x,这导致我ECM重置。

知道出了什么问题吗?

我尝试过的事情:

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

你能说明一下我还能尝试什么吗?

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

4

1 回答 1

0

在和的声明中添加volatile限定符。ab

于 2013-05-09T21:26:48.053 回答