目录
初识STM32单片机
什么是单片机?
单片机( Single-Chip Microcomputer )是一种集成电路芯片,把具有数据处理能力的中央处理器 CPU 、随机存储器 RAM 、只读存储器 ROM 、多种 I/O 口和中断系统、定时器 / 计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、 A/D 转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。
STM系列单片机的命名规则
ST --
意法半导体
M -- Microelectronics
微电子
32 --
总线宽度
STM32F103C8T6单片机简介
| 项目 | 介绍 |
|
内核
|
Cortex-M3
|
|
Flash
|
64K x 8bit
|
|
SRAM
| 20K x 8bit |
|
GPIO
| 37个GPIO,分别为PA0-PA15、PB0-PB15、PC13-PC15、PD0-PD1 |
| ADC |
2
个
12bit ADC
合计
12
路通道,外部通道
: PAO
到
PA7+PBO
到
PB1
内部通道
: 温度传感器通道
ADC Channel 16
和内部参考电压通道
ADC Channel 17
|
|
定时器
/计数器
|
4
个
16bit
定时器
/
计数器,分别为
TIM1
、
TIM2
、
TIM3
、
TIM4TM1
带死区插入,常
用于产生
PWM
控制电机
|
|
看门狗定时器
|
2
个看门狗定时器
(
独立看门狗
IWDG
、窗口看门狗
WWDG)
|
|
滴答定时器
|
1
个
24bit
向下计数的滴答定时器
systick
|
|
工作电压、温度
|
2V~3.6V
、
-40°C~85°C
|
|
通信串口
|
2 * IIC
,
2 * SPI
,
3 * USART
,
1 * CAN
|
|
系统时钟
|
内部
8MHz
时钟
HSI
最高可倍频到
64MHZ
,外部
8MHZ
时钟
HSE
最高可倍频到
72MHZ
|
标准库与HAL库区别
1.
寄存器
- 寄存器众多,需要经常翻阅芯片手册,费时费力;
- 更大灵活性,可以随心所欲达到自己的目的;
- 深入理解单片机的运行原理,知其然更知其所以然。
2.
标准库
- 将寄存器底层操作都封装起来,提供一整套接口(API)供开发者调用每款芯片都编写了一份库文件,也就是工程文件里stm32F1xx…之类的;
- 配置结构体变量成员就可以修改外设的配置寄存器,从而选择不同的功能;
- 大大降低单片机开发难度,但是在不同芯片间不方便移植。
3. HAL
库
- ST公司目前主力推的开发方式,新的芯片已经不再提供标准库;
- 为了实现在不同芯片之间移植代码;
- 为了兼容所有芯片,导致代码量庞大,执行效率低下。
通用输入输出端口GPIO
什么是GPIO?
- 定义
GPIO
是
通用输入输出
端口的简称,简单来说就是
STM32
可控制的引脚
STM32
芯片的
GPIO
引脚与
外部设备连接起来,从而实现与外部通讯、控制以及数据采集的功能。
简单来说我们可以控制
GPIO
引脚的电平变化,达到我们的各种目的。
- 命名规则
组编号
+
引脚编号
组编号:
GPIOA, GPIOB, GPIOC, GPIOD .. GPIOG
引脚编号:
0
,
1
,
2
,
3
,
4...15
组合起来:
PA0, PA1, PA2 .. PA15
PB0, PB1, PB2 .. PB15
PC0, PC1, PC2 .. PC15
...
有一些特殊功能的引脚是不能用作
IO
的。
- 内部框架图
下图来源于官方参考手册,了解即可。
- 推挽输出与开漏输出
内部结构图

- 推挽输出: 可以真正能真正的输出高电平和低电平
- 开漏输出: 开漏输出无法真正输出高电平,即高电平时没有驱动能力,需要借助外部上拉电阻完成对外驱动
如何点亮一颗LED灯
标号一样的导线在物理上是连接在一起的。
一边高电平一边低电平,LED灯才会导通发光

对应的PB8和PB9拉低,即可点亮对应的LED灯
339

被折叠的 条评论
为什么被折叠?



