中断服务子程序有可能与程序主体“并行”运行,为防止编译器错误地认为其变量不会同时使用而分配重叠地址,有些情况下会要求ISR中的变量都声明为volatile确保独立分配独立运行不被篡改。
中断号与中断入口地址对应。在编写中断服务程序(ISR)的时候需要知道中断号,用于通知51内核,这个中断服务程序是为了响应哪个中断的。中断号必然对应于中断服务程序的入口地址,而入口地址又与中断向量(InterruptVector)有对应关系,中断号即是中断向量从小到大的编号,从0开始。中断向量0x0000是上电复位,不计入中断向量的编号。特别注意,有些中断源的默认中断优先级并不是中断向量从小到大的编号,默认的中断优先级并不能作为中断号使用。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)