资源描述:
《中断编程总结范文.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、中断编程总结范文 中断编程关键是各相关寄存器的设置。 1.通过INTCTRL设置中断服务模式vectoredinterrupt,irq,fiq2.设置INTMASK,对相关外设开关中断。 3.vectoredinterrupt模式时,需在.s文件中设置VECBASE地址(这部分一般在.s文件中已经设置好的了),编写中断服务程序(__irq),并在vectorIntTable中设置中断服务地址。 4.当外设有中断产生,INTMASK中没有进行屏蔽,且没有更高优先级的中断时,自动跳到vectorIntTable中设置好的中断服务地址去执行相应的中断服务程序。
2、//Vectorinterruptsetting,,此处一般在在.s文件中已设置好。 LDRr0,=VECBASEMOVr1,#0x300;Within4KbytesSTRr1,[r0]LDRr0,=INTCTRLMOVr1,#0x01;VectorInterruptEnableSTRr1,[r0]//TablegenerationofInterruptServiceRoutine#pragmaarmsectionrodata="IT_TB"constvectorIrq_handler_tvectorIntTable[32]={0,/*reset*/0,/*aes
3、*/0,/*tornado*/0,/*des*/0,/*swp*/0,/*uartfallingedge*/0,/*usrttx/rx*/0,/*uartbuf*/0,/*uartcwtbgt*/0,/*32bittimer*/0,/*16bittimer*/0,/*usb*/0,/*usbsof*/mmcStopIrq,/*mmcstop*///其实就是中断服务程序的函数名。 mmcCmdIrq,/*mmccmd*/0,/*mmcresponse*/mmcWriteDataIrq,/*mmcwrite*/mmcReadDataIrq,/*mmcread*/0,/
4、*mmcfifo*/0,/*mmcdma*/0,/*mmcwakeup*/0,/*gdma*/0,/*uart2fallingedge*/0,/*uarttxrx*/0,/*watchdog*/0,/*nanddma*/0,/*nande*/0,/*onenand*/0,/*onenanddam*/0,/*norflash*/0,/*modedetect*/0};/*abnormaldetect*/#pragmaarmsectioncode。 内容仅供参考