关于飞思卡尔KL25中断服务程序进入问题?

2019-07-15 17:51发布

有这样的一个问题,就是模块相应的中断服务程序进入问题!比如说KL25内部的TPM模块,首先驱动是正确的,中断也能正常进入,只不过我进入中断服务程序的方式是修改vector.h文件中的 #define VECTOR_035      default_isr     // 0x0000_008C 35    19     TPM2  改为#define VECTOR_035      TPM2_isr    // 0x0000_008C 35    19     TPM2才能进入,否则在TPM2_isr程序内连断点也无法设置.我想问的是如何不用修改vector.h文件也能让其正常进入中断程序呢?因为正确的做法应该是修改isr.h,比如说将isr.h改为

#undef  VECTOR_035
#define VECTOR_035 TPM2_isr

extern void TPM2_isr(void);


但改为这种方式后TPM中断(再次声明TPM模块的驱动是正确的,是能正常中断的)后无法进入到TPM2_isr中去,求指教!


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
LY0206
1楼-- · 2019-07-15 19:05
 精彩回答 2  元偷偷看……
suyong_yq
2楼-- · 2019-07-15 20:33
试试这个原创的固件库,直接在main.c中写中断服务程序就可以,不需要动系统级的文件。

http://bbs.elecfans.com/jishu_464558_1_1.html

niejing
3楼-- · 2019-07-15 20:38
在MDK开发环境下,生成工程以后导入文件startup_MKL25Z4.s文件
NMI_Handler     PROC
                EXPORT  NMI_Handler               [WEAK]
                B       .
                ENDP
HardFault_Handler
                PROC
                EXPORT  HardFault_Handler         [WEAK]
                B       .
                ENDP
SVC_Handler     PROC
                EXPORT  SVC_Handler               [WEAK]
                B       .
                ENDP
PendSV_Handler  PROC
                EXPORT  PendSV_Handler            [WEAK]
                B       .
                ENDP
SysTick_Handler PROC
                EXPORT  SysTick_Handler           [WEAK]
                B       .
                ENDP

Default_Handler PROC
                EXPORT  DMA0_IRQHandler     [WEAK]
                EXPORT  DMA1_IRQHandler     [WEAK]
                EXPORT  DMA2_IRQHandler     [WEAK]
                EXPORT  DMA3_IRQHandler     [WEAK]
                EXPORT  Reserved20_IRQHandler     [WEAK]
                EXPORT  FTFA_IRQHandler     [WEAK]
                EXPORT  LVD_LVW_IRQHandler     [WEAK]
                EXPORT  LLW_IRQHandler     [WEAK]
                EXPORT  I2C0_IRQHandler     [WEAK]
                EXPORT  I2C1_IRQHandler     [WEAK]
                EXPORT  SPI0_IRQHandler     [WEAK]
                EXPORT  SPI1_IRQHandler     [WEAK]
                EXPORT  UART0_IRQHandler     [WEAK]
                EXPORT  UART1_IRQHandler     [WEAK]
                EXPORT  UART2_IRQHandler     [WEAK]
                EXPORT  ADC0_IRQHandler     [WEAK]
                EXPORT  CMP0_IRQHandler     [WEAK]
                EXPORT  TPM0_IRQHandler     [WEAK]
                EXPORT  TPM1_IRQHandler     [WEAK]
                EXPORT  TPM2_IRQHandler     [WEAK]
                EXPORT  RTC_IRQHandler     [WEAK]
                EXPORT  RTC_Seconds_IRQHandler     [WEAK]
                EXPORT  PIT_IRQHandler     [WEAK]
                EXPORT  I2S0_IRQHandler     [WEAK]
                EXPORT  USB0_IRQHandler     [WEAK]
                EXPORT  DAC0_IRQHandler     [WEAK]
                EXPORT  TSI0_IRQHandler     [WEAK]
                EXPORT  MCG_IRQHandler     [WEAK]
                EXPORT  LPTimer_IRQHandler     [WEAK]
                EXPORT  Reserved45_IRQHandler     [WEAK]
                EXPORT  PORTA_IRQHandler     [WEAK]
                EXPORT  PORTC_PORTD_IRQHandler     [WEAK]
                EXPORT  DefaultISR                      [WEAK]
直接使用以上中断名称定义函数编写中断任务就可以了。

一周热门 更多>