LPC11C14(Cortex-M0)微控制器采用的是NVIC(Nested Vectored InterruptController)中断控制器
NVIC中断控制器有一下特点:
NVIC是ARM Cortex-M0的一个集成部分
紧耦合的方式中断延迟低
可控制系统的异常及外设中断
NVIC中断控制器支持32个中断源
4个带硬件优先级屏蔽的可编程中断优先级
可以产生软中断
根据NVIC的特点,我们能够知道,采用紧耦合的方式比普通的中断向量方式相应更快。如何实现紧耦合的中断方式,我们需要看看NVIC的相关信息。
查看LPC11C14的用户手册,对于中断控制器的中断源有如下描述
当产生外部中断时,中断源由NVIC处理后再递交给Cortex-M0内核处理。
中断源如下表所示:
从表中可以看到NVIC支持的32个外部中断源。
LPC11C14中断优先级如下所示
下图所示的是LPC11C14的中断向量表,由于采用的是紧耦合的中断方式,所以对应的地址和中断源的ISR地址已经在向量表中确定下来,当有中断产生时,可以根据向量表中ISR地址直接跳到ISR中做相应的中断处理。
我们在Cortex-M0启动的时候,需要对其中断向量表进行初始化。根据手册上面的向量表图,我们依次填入每个中断源的ISR地址(也就是中断服务函数名)
__Vectors DCD __initial_sp ; Top of Stack
DCD Reset_Handler ; Reset Handler
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 WAKEUP_IRQHandler ; 15 wakeup sources for all the
DCD WAKEUP_IRQHandler ; I/O pins starting from PIO0 (0:11)
DCD WAKEUP_IRQHandler ; all 40 are routed to the same ISR
DCD WAKEUP_IRQHandler
DCD WAKEUP_IRQHandler
DCD WAKEUP_IRQHandler
DCD WAKEUP_IRQHandler
DCD WAKEUP_IRQHandler
DCD WAKEUP_IRQHandler
DCD WAKEUP_IRQHandler
DCD WAKEUP_IRQHandler
DCD WAKEUP_IRQHandler
DCD WAKEUP_IRQHandler ; PIO1 (0:11)
DCD CAN_IRQHandler ; CAN
DCD SSP1_IRQHandler ; SSP1
DCD I2C_IRQHandler ; I2C
DCD TIMER16_0_IRQHandler ; 16-bit Timer0
DCD TIMER16_1_IRQHandler ; 16-bit Timer1
DCD TIMER32_0_IRQHandler ; 32-bit Timer0
DCD TIMER32_1_IRQHandler ; 32-bit Timer1
DCD SSP0_IRQHandler ; SSP0
DCD UART_IRQHandler ; UART
DCD USB_IRQHandler ; USB IRQ
DCD USB_FIQHandler ; USB FIQ
DCD ADC_IRQHandler ; A/D Converter
DCD WDT_IRQHandler ; Watchdog timer
DCD BOD_IRQHandler ; Brown Out Detect
DCD FMC_IRQHandler ; IP2111 Flash Memory Controller
DCD PIOINT3_IRQHandler ; PIO INT3
DCD PIOINT2_IRQHandler ; PIO INT2
DCD PIOINT1_IRQHandler ; PIO INT1
DCD PIOINT0_IRQHandler ; PIO INT0
上一篇:stm32如何获取自己的ID号
下一篇:STM32的外部中断EXTI及NVIC中断优先级介绍
推荐阅读最新更新时间:2024-03-16 16:19
设计资源 培训 开发板 精华推荐
- 看视频赢京东卡 PI电机驱动解决方案学习中心正式上线
- 逛安富利新能源技术创新云会展 赢好礼!
- Silicon Labs EFM32PG22开发套件 传你所思 创你所想!申请进行时!
- [直播预报名] TI 最新蓝牙技术培训,2017 震撼首发!
- 干货下载|ADI 公司再生能源—能源储存解决方案
- 下载有礼喽!2017年泰克亚太专家大讲堂第三期: 超宽带复杂电磁信号产生与实时分析技术
- 【投票跟帖有礼】原厂的翻新仪器怼市场上的二手仪器,你顶谁?
- TI EP类课程年度精选出炉,推荐分享赢好礼!
- TTI Asia 2016慕尼黑上海电子展关注有礼活动
- ADI 系统方案精选【用于多路抽头输出隔离电源的简易解决方案】