我使用Visual Studio 2005并在构建WinCE 6.0操作系统映像方面受过培训。我在pin mux setup部分。我已经设置了一个宏BSP_HC1,因此只用该宏编码应该可以工作。编码的一部分是,Visual Studio - 致命错误C1057
#define PAD_ENTRY(x,y) {PAD_ID(x),y,0},
#define SAFE_MODE 7
#define PAD_ID(x) (offsetof(OMAP_SYSC_PADCONFS_REGS,CONTROL_PADCONF_##x)/sizeof(UINT16))
// OMAP_SYSC_PADCONFS_REGS is a structure and CONTROL_PADCONF_GPMC_A1 (for eg.,) is an element in it.
#define INPUT_DISABLED (0<<8)
#define MUXMODE(x) ((x & 0x7)<<0)
typedef struct {
UINT16 padID;
unsigned int Cfg:15;
unsigned int inUse:1;
} PAD_INFO;
#ifdef BSP_HC1
#define GPMC_PADS \
PAD_ENTRY(GPMC_A6 ,INPUT_DISABLED | MUXMODE(SAFE_MODE)) \
PAD_ENTRY(GPMC_nCS2 ,INPUT_DISABLED | MUXMODE(0))
#else
#define GPMC_PADS \
PAD_ENTRY(GPMC_A1 ,INPUT_DISABLED | MUXMODE(0)) \
PAD_ENTRY(GPMC_A2 ,INPUT_DISABLED | MUXMODE(0)) \
PAD_ENTRY(GPMC_A3 ,INPUT_DISABLED | MUXMODE(0))
#endif
这就是所谓的main.c作为,
static const PAD_INFO ebootPinMux[] = {
DSS_PADS
GPMC_PADS
USBOTG_PADS
END_OF_PAD_ARRAY
};
在编译时出现错误:fatal error C1057: unexpected end of file in macro expansion
和它指向GPMC_PADS。 msdn解释了我可能会错过某个括号的错误。但是,这并没有帮助我解决这个问题。请引导我。
仅当定义了BSP_HC1时才发生错误? SAFE_MODE,PAD_ENTRY和PAD_INFO的定义是什么? – kkrambo
“PAD_ID”,“BSP_HC1”和“MUXMODE”的定义是什么? “GPMC_ *”和“INPUT_DISABLED”宏只是整数,还是宏也是复杂的? –
@kkrambo我已经更新了必要的宏。 – Gomu