0

这是一个复杂的帖子,所以请耐心等待。我试图尽可能地浓缩它......

我从使用不同的 PIC 微控制器工具链来到 XC8。使用以前的编译器,设置和使用我自己的库以及跨这些库使用定义似乎要容易得多。

我想编写自己的函数库以供重用。我还想将它们全部存储在我自己选择的目录结构中(这是为了使它们在多台机器之间自动同步以及出于各种其他原因)。这是一个简化的虚构文件结构。

\projects\my_project //当前项目目录

\some_other_directory\my_library\comms_lib //我的通讯库

\some_other_directory\my_library\adc_lib //我的 ADC 库

现在让我们假设我的每个库都需要 __XTAL_FREQ 定义。每个项目的频率可能会有所不同。
以下是我的问题:

  1. 告诉编译器我的库文件所在位置的最佳/最有效方法是什么?

  2. 没有将 __XTAL_FREQ 添加到每个头文件中,如何使定义对所有头文件都可用?
    可能有人会说它应该在一个单独的头文件中(我们称之为 project_config.h)。然后可以将该文件与每个未来的项目一起定位并相应地进行更改。如果单独的头文件是答案,那么接下来的问题是,如何让库头(与项目不在同一目录中)为每个新项目正确引用 project_config.h 文件?

在此先感谢,马克

4

1 回答 1

0

如果您正在使用 MPLABX,您可以考虑为您的库创建一个或多个库项目,然后可以从其他 MPLABX 项目中包含这些库项目。

至于 __XTAL_FREQ 的全局定义,我认为应该可以将符号定义传递给命令行,但不确定。

于 2014-10-27T07:24:58.900 回答