您好...
我在高级应用程序层有一个 h 文件,在低级驱动程序空间有一个 c 文件..... 我想从 h 文件中访问一些#defines。 有人能告诉我如何解决这个问题吗??? (很可能很简单,但是……)
我已经尝试将 h 文件包含在我的低级驱动程序 h 文件中,但它会导致冲突,因为我的低级驱动程序 h 文件包含在顶级应用程序 h 文件中.....
谢谢
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好...
我在高级应用程序层有一个 h 文件,在低级驱动程序空间有一个 c 文件..... 我想从 h 文件中访问一些#defines。 有人能告诉我如何解决这个问题吗??? (很可能很简单,但是……)
我已经尝试将 h 文件包含在我的低级驱动程序 h 文件中,但它会导致冲突,因为我的低级驱动程序 h 文件包含在顶级应用程序 h 文件中.....
谢谢
您好、Steve、
您是否正在使用收割台防护装置? 通常、这是避免依赖性问题的最佳方法。
我不确定我是否完全理解了您的问题。 您能帮助我确切了解您要做的事情吗?
文件:
以上是您的应用程序包含结构的准确表示吗? 如果是这样、 则具有循环依赖关系。 您应该将应用程序所有级别所需的所有#defines 移动到 constants.h 文件中。 确保在此处使用收割台护罩。
此致、
Evan
谢谢 Evan
我有警卫……我在 main.h 中有一个#define… 然后、我想将其用于我创建的 i2c.c 驱动程序文件中...但正如您可以想象的那样、i2c.h 文件包含在 main.h 中...解决方案是创建中间件(lcd.h 和 LCD.h)并将 i2c.c 中的函数提升到一个级别 (因为它实际上依赖于 LCD、而不是 i2c)。 然后我将#define (也是与 LCD 相关的)下移到 lcd.h 文件中...所有人现在都满意了。