私はLPC824ボードとダウンロードしたlpcxpresso824max_new_projectを使用して新しいプロジェクトに取り組んでいます。ビルド、ダウンロード、デバッグは問題なく完了しました。まず最初に、3桁の7セグメントLEDディスプレイを実装しようとしています。ペリフェラルに宣言を追加しました。そして、main.c に更新ルーチンがあります。ビルド時に、重複した変数宣言という2つのエラーが発生します。それらをコメントアウトすると、「未宣言の変数」というメッセージが表示されます。変数名を変更しても、同じ重複エラーが発生します。プロジェクト内のすべてのソースファイルを調べましたが、重複は見つかりませんでした。エラーメッセージの一つは次のとおりです。
/アプリケーション/MCUXpressoIDE_25.6.136/ide/plugins/com.nxp.mcuxpresso.tools.macosx_25.6.0.202501151204/tools/bin/../lib/gcc/arm-none-eabi/14.2.1/./../../../arm-none-eabi/bin/ld: ./source/ペリフェラル.o:/Users/julian/Documents/MCUXpressoIDE_25.6.136/workspace/lpcxpresso824max_new_project/Debug/../source/ペリフェラル.h:57: 'CA_LUT'の複数定義; ./source/main.o:/Users/julian/Documents/MCUXpressoIDE_25.6.136/workspace/lpcxpresso824max_new_project/Debug/../source/ペリフェラル.h:57: ここで最初に定義されました
こんにちは、
あなたのペリフェラルを教えていただけますか?ファイルとペリフェラルについて?または、CA_LUTの宣言をどのように追加したか説明してください。
main.cでどのように使ったのか教えていただけますかCA_LUT?
どのファイル名に[#include "peripherals.h"】があるのか教えてください。それらのファイルのヘッダーはmain.cに含まれていますか?
敬具、ルイス
こんにちは、
ペリフェラルでCA_LUTを定義しているように、そうかもしれません。メインとペリフェラルの両方です。重複エラー「複数の定義」が発生するファイルを呼び出します。
宣言をペリフェラルにだけ加えるのを手伝っていただけますかCA_LUTペリフェラルの代わりに、そして再試行する。
ペリフェラルに同様の申告を他にも持っていますか?同じエラーが出ているのですか?もし持っているなら、ペリフェラル.c にも移動してください。
7セグメントを外部ペリフェラルと考えてください。
調査結果を教えてください。
よろしくお願いいたします。
これはペリフェラルのエントリーです。どちらのエラーについても
// 数字0~9のルックアップテーブル(0=オン、1=オフ)
const uint32_t CA_LUT[10] = {
//0: A、B、C、D、E、Fはオン、G、DPはオフ
~((1<
~((1<
~((1<
~((1<
~((1<
~((1<
~((1<
~((1<
~((1<
~((1<
// 1桁目、2桁目、3桁目に印刷される現在の数値を保持するグローバル変数
volatile uint8_t display_buffer[3] = {1, 2, 3}; // 例: "123" と表示されます
どちらのエラーもmain.cで使用されています。:-
uint8_t numeric_value = display_buffer[current_digit];
uint32_t segment_pattern = CA_LUT[numeric_value];
#include "ペリフェラル" 以下のファイルにのみ出現します: -
main.c、ペリフェラル、
先ほども言いましたが、私はCodeWarriorから来ているので、MCUXの知識はおそらく危険です(?????)。7セグメントディスプレイがペリフェラル(peripherals.h )かどうかはわかりませんc) またはピン数の宣言 (pin_mux.h)そしてc)、でもそれは後で解決できます。