//看ZLG的使能禁止IRQ程序是用汇编写的,实在怕看,忍不住想换个方法,一想VICIntEnable不是也可以控制IRQ的吗,它一为0不就等于把所有的IRQ都关了吗?恢复时重新把需要的中断打开就是了,这样用C实现IRQ开关不是比汇编更明白吗.........
#define DisableIrq VICIntEnableCopy=VICIntEnable; VICIntEnable=0; #define EnableIrq VICIntEnable=VICIntEnableCopy; //VICIntEnableCopy为全局变量
程序中使用时: fun() { DisableIrq //处理程序 EnableIrq }
//当然如果程序中IRQ使能的中断总是固定的话就不需要定义VICIntEnableCopy
//但因为没有仔细研究汇编和ARM的中断机制,不知道这么干是否存在隐患,还请ZLGARM指点......... |