代码之家  ›  专栏  ›  技术社区  ›  EagleOne

IAR嵌入式工作台:未知或不明确的符号

  •  0
  • EagleOne  · 技术社区  · 8 年前

    解决了的。

    我试图在IAR Embedded Workbench(与STM32F303xC微控制器一起工作)中控制变量的值。我在库中声明了变量。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?之间共享的变量值?

    2 回复  |  直到 8 年前
        1
  •  3
  •   EagleOne    8 年前

    IDE Embedded Workbench作为一种优化形式,不分配已声明但未使用的变量。因此,这些变量无法在手表中显示。

        2
  •  1
  •   LPs    8 年前

    问题是您声明了变量static。

    这意味着对于每个文件 #include hedaer文件。

    我想,只要你在一个特定的函数文件中中断执行,静态监视就会起作用。它将显示变量的本地范围副本。