LYFMCU 发表于 2017-3-1 13:52:02

stm8l101f3外部中断

由于项目需要使用低功耗的芯片所以选择了 stm8l101f3p6这款芯片,用iar编译器,使用到外部中断的时候,发现只要一按下按键程序就跑飞了, 用仿真器调试发现是中断异常。反复查看数据手册,发现是中断入口函数的问题,后来找打原因,是中断入口地址错误,使程序一直死到一个地方出不来。 在原来中断的基础上添加这个这些代码,程序进入中断正常。但是还看不懂这个是什么意思。

#define STRINGVECTOR(x) #x
#define VECTOR_ID(x) STRINGVECTOR( vector = (x) )
#define INTERRUPT_HANDLER( a, b )\
_Pragma( VECTOR_ID( (b)+2 ) )      \
__interrupt void (a)( void )
#define INTERRUPT_HANDLER_TRAP(a) \
_Pragma( VECTOR_ID( 1 ) ) \
__interrupt void (a) (void)

页: [1]
查看完整版本: stm8l101f3外部中断