qt5中C++宏的奇怪问题

为了不同的条件做了一组宏,定义很简单
#ifdef RASPI
#define MOTOR 1
#define MAGSWITCH 4...
一直没什么问题,后来加了条件变成:
#ifdef RASPI
#define MOTOR 1
#define MAGSWITCH 4
#endif

#ifdef NANPI
#define MOTOR 1
#define MAGSWITCH 4
#endif

就出问题了,在cpp中一直报错:
MOTOR was not declared in this scope
pinMode(MOTOR, 1);
除非改成pinMode(1,1)。
后来,即使把NANPI的定义都注释掉了,依然报错!!!
疯掉了,请大师指导!

#ifdef NANPI

#ifdef RASPI

这两个条件,关键是当前条件下运行哪个宏定义???