打印
[活动]

【每周分享】学习嵌入式时对STM32中断理解

[复制链接]
483|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
meiyaolei|  楼主 | 2024-6-16 00:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
中断介绍

什么是中断:
中断是计算机系统中一种重要的机制,用于处理一些需要立即响应的外部或内部事件。当这些事件发生时,它们会打断CPU正在执行的程序(主程序),使CPU转去执行相应的中断服务程序(ISR, Interrupt Service Routine),处理完后再返回到被打断的程序处继续执行。

如何配置中断?
配置中断通常涉及以下步骤:
中断源设置:确定哪些事件可以产生中断,例如外部按钮按下、定时器溢出等。
中断优先级设置:为每个中断源分配一个优先级,以便在多个中断同时发生时确定处理的顺序。
中断向量表(或中断服务表):为每个中断源设置一个入口地址,当对应的中断发生时,CPU会跳转到这个地址执行中断服务程序。
CPU中断使能:确保CPU的中断功能被使能,以便能够响应中断。
使用中断通常涉及编写中断服务程序(ISR),并在适当的时候启用和禁用中断。中断服务程序需要快速执行,并且应该尽可能少地修改系统的状态,以避免影响其他任务。
内核中断:由操作系统内核产生,用于管理资源、调度任务等。
外部中断:由外部设备产生,如键盘按键、鼠标移动等。
片上外设中断:由嵌入式系统内部的其他硬件模块产生,如定时器、串口等。
外部中断线中断:通过外部中断线连接到CPU的中断请求。
软件中断:由程序本身产生,通常用于实现系统调用或任务切换等。

中断机制允许CPU在处理主程序时响应紧急事件。这种机制提高了系统的响应速度和灵活性。

中断机制的理解
CPU在执行主程序时,接收到处理紧急事件的请求,CPU中断当前操作,去执行紧急事件(中断服务函数)紧急事件处理完成后会继续执行主程序------这个过程就叫中断
进一步理解中断过程:
场景1:看书时候来电话,去接电话,接完电话继续看书   
        看书是一直要做的事   
        接电话是紧急事件
特点;
紧急事件是被动发生的。
场景2:看书时候,来电话,并且门铃也响了,
        1、接电话---开门------继续看书      //接电话重要
        2、开门-----接电话----继续看书      //开门重要
        看书是一直要做的事
        门铃和电话是两个同时出现的紧急事件
        谁重要先做哪个紧急事件
场景3:看书时候来电话,去接电话,在接电话的过程中门铃响了
        1、接完电话---去开门-----继续看书              //电话重要
        2、放下电话---去开门---继续接电话-----继续看书  //开门重要

上面场景解释:
场景1:看书(主程序)时来电话(中断事件),接电话(执行中断服务程序),接完电话继续看书(返回主程序)。
场景2:当两个或多个中断事件同时发生时(如电话和门铃),CPU会根据中断的优先级来决定先处理哪个事件。
场景3:在处理一个中断事件(接电话)时,另一个中断事件(门铃响)发生。这时,CPU可以选择继续处理当前的中断事件(电话),或者保存当前的状态并切换到新的中断事件(门铃)。这取决于中断的优先级和系统的实现方式。

中断的优先级:
说明:如果有多个事件需要处理,根据事件的紧急程度(优先级),对处理事件的顺序进行排序,--优先等级
中断的优先级决定了在多个中断同时发生时CPU处理的顺序。高优先级的中断会打断低优先级的中断服务程序,使CPU先处理高优先级的中断事件。这种机制确保了系统能够优先处理最重要的紧急事件。

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:工程师
简介:超越自我,为设计激发灵感和想象。

93

主题

503

帖子

2

粉丝