从零开始一起学stm32(四)---中断

1、中断的原理

2、M3内核的中断结构

3、STM32的中断

4、编写外部中断和USART中断

 

你在图书馆学习stm32,你朋友突然要来学校找你,给你打电话,说,我坐公交,快到的时候给你打电话,那么,你有两种方式,一种就是一直拿着手机,等着电话响;另一种就是你先学习,等电话响的时候才去接电话,然后把你同学带上来。

1.中断的原理:

例如:判断一个按键是否按下?

1--查询  (软件-- 一直去读该管脚是否被按下)

while(1)--CPU一直在判断按键是否按下!!!

2--中断:(硬件产生的--当CPU检测到按键按下之后,立刻去执行相关函数)

 

   1.中断:预先知道某件事情要发生,但是不知道什么时间发生,我们就把该事件分配为中断。(当事件发生,CPU执行中断服务函数)

   2.中断源:能够发生中断的这个事件

   3.中断服务函数:当CPU检测到有中断发生后,自动去执行的函数。

中断执行过程:

1、响应中断(保存原CPU执行中的数据)   ---接到同学的电话

2、执行中断(执行中断服务函数)             ---下楼去把同学接上来

3、退出中断(恢复原CPU执行的数据 )        ---继续学习

4. 中断优先级:

  当多个中断同时到达,根据中断优先级的大小,去执行中断服务函数。

        

2、M3内核的中断结构:

  1.STM32 -- CPU -- M3内核

    对于优先级执行中断的顺序是通过中断的管理者NVIC来决定的;

   M3内核中有一个NVIC中断控制器:中断的管理者--根据优先级分配中断执行的顺序!

 2.查看M3技术手册:

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
外部中断STM32单片机中的一种事件触发机制,它可以让外部设备向单片机发送一个中断信号,从而使单片机在正常执行的过程中立即转移到中断服务程序中执行相应的代码。中断可以用于实现实时性要求较高的功能,例如按键检测、传感器数据采集等。 在STM32单片机中配置外部中断需要经过以下几个步骤: 1. 设置中断系统的优先级分组。这是一个系统级的设置,可以通过寄存器配置来实现。该设置决定了不同中断源之间的优先级关系。 2. 配置外部中断引脚。首先需要将对应的GPIO口配置为输入模式,然后将外部中断引脚与GPIO口连接起来。具体的配置过程包括设置引脚模式、引脚速度、上下拉电阻等。 3. 配置外部中断触发方式。根据具体的需求,可以选择边沿触发或电平触发。边沿触发可以进一步分为上升沿触发、下降沿触发和双边沿触发。 4. 编写中断服务程序。中断服务程序是在中断发生时执行的代码段,用于处理中断事件。在中断服务程序中可以编写相应的逻辑,例如读取按键状态、处理传感器数据等。 5. 配置中断优先级和使能中断。通过中断控制器的设置,可以决定中断的优先级和是否允许中断。优先级高的中断会在多个中断同时发生时优先得到处理。 6. 清除中断挂起位。在中断服务程序中,需要手动清除中断挂起位,表示该中断已经被处理。 总的来说,配置外部中断需要进行引脚配置、触发方式设置、中断服务程序编写和中断优先级设置等步骤。这样,当外部中断事件发生时,单片机会立即转移到中断服务程序中执行相应的代码,从而实现相应的功能。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [STM32单片机--外部中断详解](https://blog.csdn.net/WYFDMW/article/details/107847097)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [【STM32】HAL库-睡眠模式-外部中断唤醒demo](https://download.csdn.net/download/qq_45607873/85319880)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值