7

関連する質問には何も見つかりませんでした。おそらくそれは非常に初心者ですが、とにかく尋ねます.hファイルに次のものがあります:

typedef union _API_Packet_0x90{
    uint8_t packet[26];
    struct _pack_struct {
        uint8_t start;
        uint8_t length[2];
        uint8_t addr64[8];
        uint8_t addr16[2];
        uint8_t options;
        uint8_t rfData[4];
        uint8_t chksum;
    };
} API_Packet_0x90;

API_Packet_0x90 ap90;

これはマイクロコントローラーのコードです。xc8 ツールチェーン (以前の Hi Tech C) を使用しています。コンパイラは次のように述べています。

xbee_api.h:19: 警告: 基本型がありません。int は
xbee_api.h:19 を想定: エラー: ";"
xbee_api.h:19が期待されます: 警告: 基本型がありません。int は
xbee_api.h:21 を想定: 警告: 基本型がありません。int と仮定

、そしてこれが続きます(エラーが多すぎます)

uint8_t だと思ったので、追加しまし#include <ctypes.h>た。いいえ。名前の話かと思ったので、いろんな遊びをやってみた

typedef union {
    uint8_t packet[26];
    struct _pack_struct {

    };
} API_Packet_0x90;

また

typedef union {
    uint8_t packet[];
    struct _pack_struct {

    };
} API_Packet_0x90;

または他の人。何も役に立ちません。構文を適切に守っていると信じているので、行き詰まっています。何か助けはありますか?

4

1 に答える 1

9

uint8_tstdint.hではなく、にありますctype.h(ctypes.h、そのようなヘッダーは存在しません)。このヘッダーを検出するには、新しいバージョンの C 標準 (C99 または C11 標準) に準拠したコンパイラを使用する必要があります。

于 2013-01-07T14:41:29.157 に答える