STM32——中断检测按键控制灯的亮灭

  在之前博客中采用轮询的方式实现灯的亮灭,但是轮询对于资源的浪费较大,一般情况下不会使用该方式,在该篇博客中采用中断的形式检测按键,进而控制灯的亮灭。如果手边没有按键,可以使用串口输出模拟按键即可。

【问题描述】

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

【问题分析】

1.用到实验工具

  STM32CubeMX、STM32最小核心板、面包板、LED、杜邦线、FlyMcu、MDK等

2.具体流程

(1)首先,配置文件.

  使用CubeMX将文件配置好,之后打开生成的MDK5文件,进行中断回调函数的编写;

(2)之后,硬件连接.

  核心板与面包板串口数据线TX、RX,以及电源线,地线等连接好,之后根据配置好的GPIO管脚以及中断输出管脚,进行连接LED

(3)其次,烧录软件.

  打开FlyMcu软件,找到上述工程生成的Hex文件,将文件烧录进去

(4)最后,上板测试.

  通过插拔中断输出连接的杜邦线,观察灯的亮灭状态。

【知识充点站】

  就中断做出以下几个方面的介绍:中断产生的背景、中断的含义、中断分类,中断源和中断过程。详细的思维导图如下:
在这里插入图片描述

1.中断产生的背景

  单片机控制外部设备时,为了不让高速的处理器资源浪费,解决高速执行的处理器和慢速外设协同工作的问题

  处理器在控制外设的过程中,有些任务又必须等到外设产生某种事件后才能运行,为了与外设协同工作,高速处理器必须停下来等待外设,这样的工作方式不能使人满意,高速处理器的资源白白浪费了。在这种情况下,中断应运而生。
  

2.中断的定义

  中断,英文名为Interrupt,计算机的世界里处处都有中断,任何工作都离不开中断。

  简单来说就是CPU停下当前的工作任务,去处理其他事情,处理完后回来继续执行刚才的任务,这一过程便是中断。

  正是有了中断,才有了多道程序设计的可能性。中断,就好比大家正常在教室上课,突然发生了火灾,正常处理就是:先停下课程,逃离火场。这个过程就是处理中断,之后中断结束后,正常运行之前的代码即可。

  

3.中断的分类

(1)外部中断

(1)可屏蔽中断:通过INTR线向CPU请求的中断,主要来自外部设备如硬盘,打印机,网卡等。此类中断并不会影响系统运行,可随时处理,甚至不处理,所以称为可屏蔽中断。

(2)不可屏蔽中断:通过NMI线向CPU请求的中断,如电源掉电,硬件线路故障等。这里不可屏蔽并不是不可以屏蔽,不建议屏蔽,而是问题太大,屏蔽不了,不能屏蔽

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值