[百问网 7Day物联网智能家居实战训练]Day3基础 时钟与GPIO

1.时钟

1.1 时钟特点:

  1. 现代计算机系统,必定有时钟
  2. 高级的单片机系统中,有不同频率的时钟

1.2时钟

作用:

提供基准频率来源

频率:

时钟频率越高,单片机运行越快。

时钟源:

振荡器、分频器。

振荡器

产生固定频率方波

RC震荡器

优点:成本低、可集成

缺点:温飘大、频率不稳定。

   

晶体振荡器

温飘小

体积大、不可集成

分频器

将振荡器的频率分为多段

由锁相环(PLL)实现

   

时钟树:

描述震荡器、分频器间的关系。

 

4种振荡器:

名称

频率

外部连接

功能

用途

特性

HSE

4~16MHz

4~16MHz

 

系统时钟/RTC

成本高、温飘小

LSE

32kHz

32.768kHz

带校准

RTC

成本高、温飘小

HSI

4MHz

 

出厂调校

系统时钟

成本低、温飘大

LSI

40kHz

 

带校准

RTC

成本低、温飘大

分频器:

分频器

/2

数字表示几分频

锁相环PLL

x2

数字表示几倍频

选择器:

:长边:多个输入,短边:选择其中一个输出

 

2.GPIO

GPIO(General-Purpose IO ports,通用输入/输出接口)

输入模式

感知外界信号

输出模式

控制外部设备

引脚与模块连接

控制引脚输出/读取高低电平

LED、按键、蜂鸣器、温度传感器等

多个引脚

“协议”进行通信

UART、I²C、SPI接口等

STM32的GPIO:

引脚

48个

除去电源引脚、晶振时钟引脚、复位引脚、启动选择引脚、

程序下载引脚(大部分为最小系统必须引脚),剩下则是GPIO引脚。

分组GPIOx

x:A、B、C

16个引脚/组;编号:0~15。【STM32F103C8T6:2组

8种工作模式

输出模式

推挽、开漏、复用推挽、复用开漏

《手册8.1.2》

输入模式

上拉、下拉、浮空、模拟


输入模式

   

上拉输入

没有按键按下,默认输入为高电平

下拉输入

没有按键按下,默认输入为低电平

浮空输入

外部电平=>I/O引脚电平。

模拟输入

 

输出模式

   

推挽输出

输出控制:1--VDD ;0---VSS

输出电流增大、提高负载能力

开漏输出

1---VDD; 0--VSS

1--VCC;使用外部上拉

同推挽。

实现电平转换

复用推挽输出

   

复用开漏输出

   

使用外部上拉VCC

复用:使用片上外设引脚输出高低电平。

设置:

 

 

GPIO输出速度:

STM32提供三个输出速度:2MHz、10MHz、50MHz。

注意:I/O引脚输出模式下,需要配置输出速度。该输出速度不是输出信号的速度,而是I/O口驱动电路响应速度。

选择输出速度:考虑功耗、稳定性。

高速时,功耗高、噪声大、电磁干扰强;I 2 C、SPI等通信信号,建议10MHz或50MHz

低速时,功耗低、噪声小、电磁干扰弱。LED灯、蜂鸣器灯,建议2MHz

点亮LED:

硬件设计:

知识补充:

LED: Light Emitting Diode,发光二极管

原理:将电能转化为可见光的半导体器件,当给P极施加正向电压后,空穴和自由电子在P-N结复合,辐射出光子而发光。

分类:

LED灯原理图:

正极直接连接了3V3,LED灯的负极连接的网

络标号LED(PA1),只需要控制PA1为低电平,即可点亮LED灯,输出为高电平时熄灭LED灯。

软件设计:

设计思路

实验目的:体验嵌入式的“Hello Word”,LED灯闪烁。

1) 选择LED对应的GPIO;PA1

2) 使能所选择GPIO的时钟;默认

 

3) 配置其为上拉输出模式;

4) 控制其输出高或低来控制LED的亮与灭;

while (1)
  {
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
	HAL_GPIO_WritePin(GPIOA, GPIO_PIN_1, GPIO_PIN_RESET);
	HAL_Delay(1000);
	HAL_GPIO_WritePin(GPIOA, GPIO_PIN_1, GPIO_PIN_SET);
	HAL_Delay(1000);
  }

按键输入:

按键监测方式:按键扫描和按键中断。

按键扫描

间隔很短时间反复查询GPIO状态

代码简单

比较耗资源

按键中断

通过按键产生中断信号

需要深入学习

效率高

按键接线示意图:

按键抖动:

抖动时长:抖动的时长与机械开关特性相关,一般为5-10ms

抖动过程中:会产生多次高低电平,导致被识别为多次按键操作。

消抖处理:

硬件处理:按键旁并联电容,吸收抖动的电平;

软件处理:加延时,避开抖动。

硬件设计:

posted @ 2022-08-07 21:55  未央恋枫  阅读(200)  评论(0)    收藏  举报