在本篇文章中,我们将进一步了解单片机一些外设的中断:定时器,串行通信和ADC。下面将简要介绍GPIO在单片机中的作用,并一些熟悉的外设中的中断概念。
GPIO对单片机的作用
1.GPIO代表通用输入/输出,有时也称为数字I/O控制器。
2.单片机具有通过其与外界交互的引脚。这些引脚通常产生或接收单片机处理的电信号。
3.GPIO是连接到单片机某些引脚的外设。
GPIO允许你将引脚配置为输入或输出。当引脚配置为输入时,假设外部连接到引脚上的东西确定引脚上的电信号是什么。例如,如果我将引脚连接到开关,然后将该开关连接到电压源,则可以使用该开关来控制引脚上的电信号是无电压(0V)还是某个电压(无论电压为来源是)。当引脚配置为输入时,单片机将决定引脚上的信号是什么。
引脚连接到单片机中的寄存器,允许你读取值或将所需的值写入程序中的引脚。引脚上的值被编码为一位(0或1)。0通常表示非常低的电压,而1通常表示通常与单片机上的工作电压等效的高压。例如,对于以3.3V工作的STM32L151C6,当电压小于0.99V时输入被读取为0,而当电压大于2.31V时输入被读取为1。
其他外围设备的中断
下面,我们将简要讨论其他通用外设及其可能提供的中断类型。
一、计时器
大多数单片机至少具有一个计时器。计时器包含与时钟信号一起使用的计数器,以提供经过时间的感觉。计时器的计数,除了计数器的计数速度如何外,还确定“真实世界”的时间已流逝了多少。
大多数定时器可以配置为在计数到特定值时生成中断,通常有两种情况的中断。
第一种情况是溢出。如果计数器正在向上计数,则这是达到最大值的时间。如果是递减计数,则这是达到最小值的时间。达到溢出后,计数器的行为方式会不同地设计不同的单片机。有时,此行为是可配置的。
第二种情况是当它计算用户特定的值时。不管引起中断的事件是什么,通常都会在定时器内部设置一个标志,在中断控制器内部设置一个标志,以及与定时器中断相关的中断向量。定时器可能有多个中断向量,每个中断向量都与一个不同的事件相关联。
二、串行通讯
大多数单片机还具有串行通信,可以使它们将消息发送到其他设备。通常,有数据缓冲区(有时一个用于发送,另一个用于接收)。
可能会有一个中断,使CPU知道刚刚在接收缓冲区中接收到数据。如果将数据放入发送缓冲区中,则可能会有中断让CPU知道已成功发送数据,因此缓冲区已准备好接收新数据。
某些通信带有信号,设备必须首先确定谁可以发送消息。在这种情况下,可能会有一个中断让CPU知道另一设备已准备好接收或另一设备打算发送数据。
三、模数转换器
一些单片机配备了模数转换器,该模数转换器接收在一定范围内变化的模拟电压,并转换为二进制形式,供单片机进一步处理。对话过程需要时间,因此通常会有一个中断来通知CPU,在CPU启动转换后完成转换。