#if ((SYSCLK/SMB_FREQUENCY/3) < 255) #define SCALE 1 CKCON |= 0x10; // Timer1 clock source = SYSCLK #elif ((SYSCLK/SMB_FREQUENCY/4/3) < 255) #define SCALE 4 CKCON |= 0x01; CKCON &= ~0x12; // Timer1 clock source = SYSCLK / 4 #endif 预编译指令嵌套.. 以前一直没有注意到有这样的用法,记下经常看看.