如何访问自动生成的 Interrupts.c 文件之间的数据变量?

问题描述 投票:0回答:2

我最近开始与 Simplicity Studio 合作,为基于 8051 的开发板开发一个程序。通过配置器,我启用了中断,这会创建一个

Interrupts.c
文件。该文件未明确包含在主文件中,但其中定义的中断按其应有的方式工作。 现在,我担心的是我想从中断中切换一些标志变量,并在主文件中使用它们。由于没有显式包含它,链接器找不到
Interrupts.c
的全局变量并抛出错误。

  1. 我尝试显式包含该文件,但所有 ISR 函数以及全局变量都出现错误
    L104: Multiple Function Definitions
  2. 尝试在中断文件中创建一个仅返回全局变量的函数。这有效,但我不能对每个变量都这样做,而且我无法在主文件中进行更改并在中断文件中看到它的反映。
  3. 尝试使用 extern 并在主文件中定义,我受到了
    L127: Unresolved External Symbol
    以及
    L128: Reference made to Unresolved External
  4. 的欢迎
c embedded interrupt-handling 8051 simplicity-studio
2个回答
0
投票

在“外设”选项卡中查找中断。通常有一个设置“生成中断函数”。禁用此功能并将您自己的 IRQ 模块包含到源中。


0
投票

在主文件中:

volatile uint87_t your_var=123;

在Interrupts.c中:

extern volatile uint87_t your_var;
© www.soinside.com 2019 - 2024. All rights reserved.