一、轻触按键
1.1轻触按键简介
轻触按键是众多按键中的一款产品,它其实相当于是一种电子开关,只要轻轻的按下按键就可以把开关接通,松开时把开关断开。轻触按键由于微动开关的特性以及体积小、质量轻的优势在家用电器方面得到了广泛的应用,应用场景有:电视机按键、遥控器按键、电脑按键、键盘按键、显示器按键、照明按键等,如下图所示。
1.2轻触按键原理
以四脚轻触按键示例,四脚轻触开关的内部结构如下图所示。
这种开关的工作原理,其实和普通按钮开 关的工作原理差不多,由常开触点、常闭触点组合而成,在四脚轻触开关中,常开触点的作用,就是当压力向常开触点施压时,这个电路就呈现接通状态;当撤销这种压力的时候,就恢复到了原始的常闭触点,也就是所谓的断开。这个施压的力,就是用我们的手去开按钮、关按钮的动作。
二、中断
2.1 中断简介
由于发生了某种随机的事件(外部或内部),引起单片机暂时中断正在运行的程序,转去执行一段特殊的服务程序(中断服务子程序或中断处理程序),以处理该事件,该事件处理完后又返回被中断的程序继续执行,这一过程就称为中断,引发中断地称为中断源。比如:看电视时突然门铃响,那么门铃响就相当于中断源。有些中断还能够被其他高优先级的中断所中断,那么这种情况又叫做中断的嵌套。由于单片机中中断众多,我们这里主要讲外部中断。
STM32F103的每个GPIO引脚都可以作为外部中断的中断输入口,每个中断都设有状态位,每个中断/事件都有独立的触发和屏蔽设置。STM32的外部中断线及其对应事件为:
(1)Line0~15:对应外部IO口的输入中断;
(2)Line16:连接到PVD输出;
(3)Line17:连接到RTC闹铃事件;
(4)Line18:连接到USB唤醒事件;
(5)Line19:连接到以太网唤醒事件。
这里我们使用到Line0~15的GPIO输入中断,这里的0~15分别对应每组GPIO引脚的0~15。如下表所示为管脚所对应的中断线以及对应的中断服务函数名称。
管脚 |
中断标志 |
中断处理函数 |
PA0~PG0 |
EXIT0 |
EXTI0_IRQHandler |
PA1~PG1 |