在相關問題中未找到任何內容。最可能的是它的超級小白,但是我會問反正/我有我的.h文件中的以下內容:C:typedef union
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(原喜TECH C )。編譯器說:
xbee_api.h:19: warning: missing basic type; int assumed
xbee_api.h:19: error: ";" expected
xbee_api.h:19: warning: missing basic type; int assumed
xbee_api.h:21: warning: missing basic type; int assumed
,這推移(太多錯誤)
我認爲這是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;
或他人。沒什麼幫助。我被卡住了,因爲我相信我的語法正確。任何幫助?
你如何知道你添加了定義的uint8_t?也許嘗試添加'typedef unsigned char uint8_t;'在這個定義之前......要麼它會有所幫助,要麼會抱怨你正在重新定義它。 – Matthieu
您可能需要'#include'作爲'uint8_t'。 –
'xbee_api.h:19:'你還可以給你的代碼行號?至少第一行的數量是多少?所以我們可以知道,哪條線給出了問題。 – anishsane