这几天学习stm32中断程序,却一直没有响应。首先,我是怀疑自己不理解中断,所以就看了很多一些关于中断的资料,资料整理在下面。在确认自己的中断没有错误后,就只有继续搜资料看,发现好多都是KEIL的,于是想换成KEIL,这就开始怀疑平台了。果然不错,把我的程序贴到学长给的样例工程中后,中断就有反应了,果然是自己的工程配置错了。
然后,一对比,发现我没有这个文件,Libraries\CMSIS\Core\CM3\startup\iar\startup_stm32f10x_hd.s。这里面__vector_table的定义
__vector_table
DCD __intial_sp
DCD __iar_program_start
DCD NMI_Handler ; NMI Handler
DCD HardFault_Handler ; Hard Fault Handler
DCD MemManage_Handler ; MPU Fault Handler
DCD BusFault_Handler ; Bus Fault Handler
DCD UsageFault_Handler ; Usage Fault Handler
DCD 0 ; Reserved
DCD 0 ; Reserved
DCD 0 ; Reserved
DCD 0 ; Reserved
DCD SVC_Handler ; SVCall Handler
DCD DebugMon_Handler ; Debug Monitor Handler
DCD 0 ; Reserved
DCD PendSV_Handler ; PendSV Handler
DCD SysTick_Handler ; SysTick Handler
; External Interrupts
DCD WWDG_IRQHandler ; Window Watchdog
DCD PVD_IRQHandler ; PVD through EXTI Line detect
DCD TAMPER_IRQHandler ; Tamper
DCD RTC_IRQHandler ; RTC
DCD FLASH_IRQHandler ; Flash
DCD RCC_IRQHandler ; RCC
DCD EXTI0_IRQHandler ; EXTI Line 0
DCD EXTI1_IRQHandler ; EXTI Line 1
DCD EXTI2_IRQHandler ; EXTI Line 2
DCD EXTI3_IRQHandler ; EXTI Line 3
DCD EXTI4_IRQHandler ; EXTI Line 4
之前,没有这个文件,所以中断发生后,由于找不到中断服务程序地址,程序就结束运行了,或许产生了异常。
附件是关于中断的一些资料。
文章评论(0条评论)
登录后参与讨论