NXP MCU 技术论坛
直播中

晴兮晴兮

11年用户 566经验值
私信 关注
[问答]

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

有这样的一个问题,就是模块相应的中断服务程序进入问题!比如说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积分

回帖(3)

刘洋

2015-1-13 15:48:31
飞思卡尔官网KL25例程包KL25-SC中有tpm工程:E:...KL25 Sample Codekl25_sc_rev10klxx-sc-baremetalbuildiarLQRUG_tpm_ex1
该例程就如你描述的那种操作,用到了tpm0和tpm1的中断。

举报

suyong_yq

2015-1-13 23:58:04
试试这个原创的固件库,直接在main.c中写中断服务程序就可以,不需要动系统级的文件。

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

举报

聂晶

2015-1-31 14:06:41
在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]
直接使用以上中断名称定义函数编写中断任务就可以了。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分