由于IAR for MSP430的软件存在上下版本兼容的问题,比如,我现在用的版本号是3.41,以前版本定义的中断函数和新版本的有了改变,无法正常使用,用下面方式来定义中断服务函数就消除了版本的问题。在新老版本中编译运行都没有问题了。
#ifdef __IAR_SYSTEMS_ICC__
#if __VER__ >= 200 //如果版本号比此处的新,则采用新的中断定义方法
#pragma vector="XXX"_VECTOR
__interrupt void YYY_ISP (void)
#else
interrupt[XXX_VECTOR] void YYY_ISP (void)
#endif
#else
interrupt[XXX_VECTOR] void YYY_ISP (void)
#endif
其中XXX为中断向量表中相应的中断向量,YYY_ISP 为相应的中断服务程序