Cortex-M0 LPC11C14中断控制器
来源:互联网 发布:率土之滨数据修改器 编辑:程序博客网 时间:2024/04/30 12:41
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
- Cortex-M0 LPC11C14中断控制器
- LPC11C14(Cortex-m0-->ARM7)启动代码分析
- Cortex-M0(NXP LPC11C14)启动代码分析
- 【Cortex-M0】11串口控制器
- 【Cortex-M0】12外部中断
- 【Cortex-M0】1 微控制器发展趋势
- 【Cortex-M0】14 Flash内存控制器(FMC)
- 【Cortex-M0】15 I2C总线控制器
- Cortex-M0中断控制和系统控制
- cortex M0
- 【Cortex-M0】4 ARM微微控制器的指令集
- 【Cortex-M0】9 定时器控制器与系统定时器
- 【Cortex-M0】16串行外围设备接口(SPI)控制器
- Arm Cortex-M0新唐m052外部中断
- 学习笔记——ARM Cortex-M0 异常与中断
- ARM Cortex-M4和Cortex-M0+中断优先级及嵌套抢占问题
- 【Cortex-M0】3 ARM Cortex-M0
- 新唐Cortex—M0学习之外部中断与定时器中断
- 找割点poj1144
- 【AC自动机】 HDOJ 2896 病毒侵袭
- 串的模式匹配算法
- Amazon S3的数据一致性模型
- 使用HTML5构建iOS原生APP(2)
- Cortex-M0 LPC11C14中断控制器
- Android清除数据
- svn常用命令
- UNIX环境高级编程第二版中编译程序提示“apue.h:找不到这个文件或目录”错误
- http 错误代码表
- FS_11C14温湿度传感器(二)
- Allegro批量复制Via并保持net属性
- 设定ofbiz的日志输出级别
- IOS tabbarController 的delegate控制双击不会返回