关于飞思卡尔KL25中断服务程序进入问题?
#undef VECTOR_035
#define VECTOR_035 TPM2_isr
extern void TPM2_isr(void);
但改为这种方式后TPM中断(再次声明TPM模块的驱动是正确的,是能正常中断的)后无法进入到TPM2_isr中去,求指教!
飞思卡尔官网KL25例程包KL25-SC中有tpm工程:E:\...\KL25 Sample Code\kl25_sc_rev10\klxx-sc-baremetal\build\iar\LQRUG_tpm_ex1
该例程就如你描述的那种操作,用到了tpm0和tpm1的中断。
试试这个原创的固件库,直接在main.c中写中断服务程序就可以,不需要动系统级的文件。
http://bbs.elecfans.com/jishu_464558_1_1.html
在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]
直接使用以上中断名称定义函数编写中断任务就可以了。