OpenEdv-开源电子网

标题: STM8S003F3定时器1中断服务函数 [打印本页]

作者: lvlujing    时间: 2019-5-8 20:26
标题: STM8S003F3定时器1中断服务函数
我用的芯片是STM8S003F3,用库函数编写定时器1,然后调用中断服务函数:INTERRUPT_HANDLER (TIM1_UPD_OVF_TRG_BRK_IRQHandler,11),我想问的是其中两个参数在哪找的?点击go to defination后转到stm8s.h文件后的代码如下:
#ifdef _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)  
#endif /* _IAR_ */
我看不明白其中a,b 从哪来的?还有编译时出现报错:Error[Li006]: duplicate definitions for "TIM1_UPD_OVF_TRG_BRK_IRQHandler"; in "C:\Users\LV\Desktop\DCelectric blankets  program\Debug\Obj\stm8s_it.o", and  "C:\Users\LV\Desktop\DCelectric blankets  program\Debug\Obj\timer.o"
Error[Li006]: duplicate definitions for "_interrupt_13"; in "C:\Users\LV\Desktop\DCelectric blankets  program\Debug\Obj\stm8s_it.o", and "C:\Users\LV\Desktop\
DCelectric blankets  program\Debug\Obj\timer.o"


不知是什么原因?







作者: 正点原子    时间: 2019-5-9 02:00
帮顶
作者: xia_yangchun    时间: 2019-8-13 20:38
不需要你找参数,中断函数的参数他都给你写好了,TIM1_UPD_OVF_TRG_BRK_IRQHandler这个是中断函数,中断编号是11,你只要在这个函数中补充你的代码即可,参考下面的图
作者: langcai    时间: 2019-8-19 13:41
帮你顶一下帖子




欢迎光临 OpenEdv-开源电子网 (http://47.111.11.73/) Powered by Discuz! X3.4