0

commands.h以外の場所に特定のヘッダー ファイルをインクルードするとcommands.c、このエラーがコンパイラによってスローされます。commands.hで定義された構造体を使用する関数プロトタイプが含まれていますinstrument.h。具体的には次のとおりです。

void readConfig(PSTATPLUS_CONFIG* pStatConfig_p, MLD_PACKET* rxPacketUart2_p);
void readState(PSTATPLUS_STATE* pStatState_p, MLD_PACKET* rxPacketUart2_p);
void writeConfig(PSTATPLUS_CONFIG* pStatConfig_p, MLD_PACKET* rxPacketUart2_p);
void writeState(PSTATPLUS_STATE* pStatState_p, MLD_PACKET* rxPacketUart2_p);

PSTATPLUS_CONFIGで、PSTATPLUS_STATE次のように定義されていinstrument.hます。

typedef struct {
    float signalAmplitude;      // Signal Amplitude
    float signalOffset;         // Signal Offset
    unsigned char waveType;     // Waveform Type
    float startFreq;            // Frequency Start
    float stopFreq;             // Frequency Stop
    unsigned int numIncrements; // Number of Increments
    unsigned char scale;        // Linear(0) or log(1)
    float stepDelay;            // Step Delay
}PSTATPLUS_CONFIG;

typedef struct {    // Current biosensor status
    unsigned char scan;     // Scan status (on/off)
    unsigned char sample;   // Sample status (on/off)
    unsigned int currentIncrement; // Current scan increment
    unsigned char gain;     // Current gain setting
    float iValue;           // I voltage
    float qValue;           // Q voltage
    unsigned int sampleDivider; // 1 takes every ADC sample, 2 takes every 2nd ADC sample, 3 takes every 3rd ADC samp... n takes every nth. 0 stops data collection.
    unsigned int totalSamples;  // total number of samples wanted to complete one measurement.
}PSTATPLUS_STATE;

commands.hファイルにアクセスできるようにヘッダーに記述されたいくつかの定義が必要instrument.cですが、前述のように、そこに含めるたびにcommands.h、コンパイラーはそのエラーを生成します。commands.h他のソース ファイルのいくつかにインクルードしようとしましたが、同じことが起こり続けます。どんな助けでも大歓迎です。

ダン

4

2 に答える 2