STM32中断原理

本文深入探讨STM32中断系统,介绍中断的基本概念、作用及约束。通过STM32CubeMX,实现中断方式的点灯实验和串口通信,详细讲解项目内容、工程设置、代码实操和硬件连接,帮助读者掌握STM32中断编程技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、中断介绍

1.1 什么是中断

1.2 中断的作用

1.3 中断的约束

二、STM32CubeMX中断方式点灯

2.1 项目内容

2.2 工程设置

2.3 代码实操

2.4 硬件连接

2.5 运行效果

三、STM32CubeMX中断串口通信

3.1 项目内容

3.2 工程设置 

3.3 代码实操

3.4 效果展示

 四、参考文献


 

本篇博客内容包括 :

1.介绍STM32中的中断系统。

2.采用中断进行点灯实验。

3.采用串口中断方式实现串口通信。

一、中断介绍

1.1 什么是中断

中断通常被定义为一个事件,该事件能够改变处理器执行指令的顺序。这样的事件与 CPU 芯片内外部硬件电路产生的电信号相对应。

中断分为同步中断异步中断

同步中断——同步中断是当指令执行时由 控制单元产生的,之所以称为同步,是因为只有在一条指令终止执行后 CPU 才会发出中断。

异步中断——异步中断是由其他硬件设备依照 CPU 时钟信号随机产生的。

通常我们所说的中断指的是异步中断,我们将同步中断称为异常。(异常是由程序的错误产生的,或者是由内核必须处理的异常条件产生的)

1.2 中断的作用

跟据中断的定义,我们可以通过中断使处理器转而去优先运行正常控制流之外的代码

当一个中断信号达到时,CPU 必须停止它当前正在做的事情,并且切换到一个另一个活动。为了做到这就要在内核态堆钱保存程序计数器的当前值,并把与中断类型相关的地址放进程序计数量。

1.3 中断的约束

中断处理是由内核执行的最敏感的任务之一,因为它必须满足下列约束:

1)中断应该被尽可能快地处理完
2)中断处理程序必须编成使相应的内核控制路径能以嵌套的方式执行
3)内核在处理一个中断时,可接受新的中断。但存在一个临界区,中断必须被禁止

出于1)和3)的约束,中断的设计一般将中断处理程序分为两部分执行(即上半部和下半部函数)。上半部为中断被禁止的临界区,执行关键而紧急的任务,如把接收到的帧拷贝到输入队列,以便下半部函数执行时能进行处理。

二、STM32CubeMX中断方式点灯

2.1 项目内容

用stm32F103芯片的GPIOA端一管脚接一个LED,GPIOB端口一引脚接一个开关(用杜邦线模拟代替)。采用中断模式编程,当开关接高电平时,LED亮灯;接低电平时,LED灭灯。

这里我选用的芯片为正点原子的STM32F103RC迷你板。

设置PA1端接开关,PB5接LED。

对于按键电路,设置上拉式按键

  • 按键按下,引脚PA1读到低电平
  • 按键释放,引脚PA1读到高电平

LED灯的触发方式

  • 按键按下瞬间,形成下降沿
  • 按键释放瞬间,形成上升沿

在这里插入图片描述

 因此这里设置上升沿触发,即松开按键时灯亮,因为题目要求为开关接高高电平亮灯。

2.2 工程设置

  • 新建工程

新建工程的过程在这我就不赘述了,需要的朋友可以看看我的另一篇博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值