IAR Embedded Workbench:未知或不明确的符号

IAR Embedded Workbench : Unknown or ambiguous symbol

已解决。

我试图在 IAR Embedded Workbench(使用 STM32F303xC 微控制器)中控制变量的值。我将 library.h 文件中的变量声明为:

extern int my_variable1;
extern float another_variable //... etc

然后在library.c

int my_variable1 = 15;
float another_variable = 328.47;

在main.c

my_variable1 = 38;
another_variable = pow(10,2) + another_variable/8

但在 watch、live watch 和 quick watch 中它会出现错误:(第 1 列)未知或不明确的符号。

我用这个 IDE 写了几个程序,静态变量的声明有效,它允许我使用手表查看变量的值。在其他程序中,我将变量声明为

int my_variable1;

在主文件中,在主函数之外,它也有效。

我该如何解决这个错误?

就我们而言,真正的问题似乎是:

有一种方法可以在 IAR Embedded 中显示 Workbench .c-s 之间共享的变量值?

问题是您将变量声明为静态。

这意味着对于 #include hedaer 文件的每个文件,您将拥有这些变量的离散副本。

我想只要您在特定函数文件中中断执行,静态监视就可以工作。它将向您显示变量的本地范围副本。

IDE Embedded Workbench 作为优化形式,不会分配已声明但未使用的变量。所以这些变量不能在手表中显示。