第 12 章:中断与异常
学习目标
- 理解中断机制
- 实现异常处理
- 掌握 CSR 寄存器
12.1 思考:什么是中断?
程序正在运行,突然 UART 收到数据,怎么办?
轮询:不停检查
while (1) {
if (uart_has_data()) process();
}
中断:有数据时通知 CPU!
12.2 异常类型
- 中断:外部事件(UART、Timer)
- 异常:指令执行错误(非法指令、访问违例)
程序正在运行,突然 UART 收到数据,怎么办?
轮询:不停检查
while (1) {
if (uart_has_data()) process();
}
中断:有数据时通知 CPU!