第七篇 向量中断控制器VIC
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第七篇向量中断控制器VIC
ARM7只有两条中断输入信号线:中断IRQ和快速中断FIQ,而LPC2103有最多32个中断请求输入:4个外部中断、2个定时器、看门狗和一些未用的中断……所以直接连线时不够的,LPC2000系列用到向量中断控制器Vectored Interrupt Controller(VIC)来解决这个问题,通过设置这些中断源可以选择为IRQ或FIQ,而IRQ又可以分为向量IRQ和非向量IRQ,向量IRQ可以分为16个通道,如下图:
每个中断源是有编号的:0:WDT,2:ARMCore0,3:ARMCore1,4:TIME0,5:TIME1,6:UART0,7:UART1,9:I2C0,10:SPI0,11:SSP/SPL1,12:PLL,13:RTC,14:EINT0,15:EINT1,16:EINT2,18:AD0,19:I2C1,26:TIMER2,27:TIMER3。
其他的中断保留。
编号代表着每个中断源,比如说中断使能寄存器VICIntEnable,对其第14位写1,就是使能外部中断0(EINT0),还比如向量控制寄存器VICVectCntl0-15,低五位放中断源的编号。
如何编写一个完整的中断程序,基本流程见下图:。