嵌入式系统中的中断:原理、类型与应用指南
1. 中断基础
中断是微处理器的一种输入,它能暂时改变程序的执行流程。在嵌入式系统中,中断的作用至关重要,因为实时性往往依赖于中断机制。当模拟 - 数字转换器(ADC)有新数据、定时器溢出、直接内存访问(DMA)传输完成、其他处理器请求通信,或者几乎任何异步事件发生时,都可以通过中断通知处理器。
1.1 中断处理流程
当一个中断发生时,片上硬件会执行以下操作:
1. 保存返回地址 :将程序计数器(即中断发生时处理器正在执行的地址)保存到堆栈中。有些处理器还会保存其他信息,如寄存器内容。
2. 执行中断响应周期 :根据处理器和具体的中断类型,从产生中断的外设获取一个向量。
3. 跳转到预定地址 :分支到特定于该中断的预定地址,这个地址就是中断服务程序(ISR,有时也称为中断服务进程 ISP)的入口。
ISR 执行所需的功能后返回。当返回代码执行时,处理器会执行以下任务:
1. 恢复信息 :从堆栈中检索返回地址和其他保存的信息。
2. 恢复执行 :在返回地址处继续执行程序。
1.2 中断输入类型
微处理器的中断输入有多种形式:
- 专用中断输入引脚 :某些处理器具有专用的中断输入引脚,这些引脚会将处理器引导到特定地址。
- 单中断引脚 :其他处理
超级会员免费看
订阅专栏 解锁全文
2851

被折叠的 条评论
为什么被折叠?



