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 を使用している場合は、ライブラリ用に 1 つまたは複数のライブラリ プロジェクトを作成することを検討できます。これは、他の MPLABX プロジェクトから含めることができます。

__XTAL_FREQ のグローバル定義については、シンボル定義をコマンド ラインに渡すことができるはずだと考えていますが、よくわかりません。

于 2014-10-27T07:24:58.900 に答える