1.STM32
STM32是S他公司基于ARMCotex-M内核开发的32位微控制器,通常使用在嵌入式开发领域,功能强大,资源丰富,功耗低,是一款经典的嵌入式微控制器
2.STM32F103C8T6(最小系统版)
- 产品类型:F:通用类型
- 产品子系列:103增强型,此外有101基本型、105/107互联型
- 引脚数目:T36脚,此外有C48脚,R68脚
- 闪存存储器容量:6代表32K字节的闪存存储器,此外有4即16K字节的闪存存储器等
- 封装:T代表封装的是LQFP,此外还有H即BGA的封装类型等
- 温度范围:6代表工业级温度范围,即负40°至85°,此外还有7工业级温度范围,最高105°
系列:主流系列STM32F1
内核:ARM Cotex-M3
主频:72Mhz
RAM(运行内存):20K
AOM(程序存储器):64K
供电2.0-3.6V(标准3,3v)
封装:LQFP48(48个引脚)
3.片上资源/外设(不是所有的单片机都具有所有的外设,需根据实际情况)
NVIC嵌套向量中断控制器
SysTick系统滴答定时器
|
英文缩写 |
名称 |
英文缩写 |
名称 |
|
NVIC |
嵌套向量中断控制器 |
CAN |
CAN通信 |
|
SysTick |
系统滴答定时器 |
USB |
USB通信 |
|
RCC |
复位和时钟控制 |
RTC |
实时时钟 |
|
GPIO |
通用IO口 |
CRC |
CRC校验 |
|
AFIO |
复用IO口 |
PWR |
电源控制 |
|
EXTI |
外部中断 |
BKP |
备份寄存器 |
|
TIM |
定时器 |
IWDG |
独立看门狗 |
|
ADC |
模数转换器 |
WWDG |
窗口看门狗 |
|
DMA |
直接内存访问 |
DAC |
数模转换器 |
|
USART |
同步/异步串口通信 |
SDIO |
SD卡接口 |
|
I2C |
I2C通信 |
FSMC |
可变静态存储控制器 |
|
SPI |
SPI通信 |
USB OTG |
USB主机接口 |
4.启动配置
| 启动模式选择引脚 | 启动模式 | 说明 | |
| BOOT1 | BOOT0 | ||
| X | 0 | 主闪存存储器 | 主闪存存储器被选为启动区域(用户程序) |
| 0 | 1 | 系统存储器 | 系统存储器被选为启动区域(需要用到串口下载程序,34-40引脚) |
| 1 | 1 | 内置SRAM | 内置SRAM被选为启动区域(调试用) |
5.最小系统电路
供电电路:只要供电,需要加上滤波电容,稳定供电的作用
晶振电路:主晶振一般都是8zHz
复位电路:先低电平,后高电平
- 采用阻容复位电路(10kΩ电阻和0.1μF电容)实现上电复位。
- 可添加手动复位按钮,通过下拉电阻(如10kΩ)和电容(如0.1μF)实现低电平复位。
- NRST引脚内部有弱上拉,外部电路需避免冲突
启动配置:相当于开关的作用
下载端口:
时钟电路:
STM32支持内部和外部时钟源,外部时钟提供更高精度:
- 外部高速时钟(HSE):8MHz晶振搭配20pF负载电容,用于系统主时钟。
- 外部低速时钟(LSE):32.768kHz晶振,用于RTC和低功耗模式。
调试接口:SWD(Serial Wire Debug)是STM32常用的调试接口:
- 连接SWDIO(PA13)和SWCLK(PA14)引脚,搭配4.7kΩ上拉电阻。
- 可选添加RESET引脚连接,便于全芯片复位。
- 调试器(如ST-Link)通过SWD协议与芯片通信。
6.软件安装(软件开发环境)
- 安装Keil5 MDK
- 安装器件支持包(kei5需要安装,在线安装相关包比较慢):如果不安装,只有ARM,无法使用STM32创建工程
- 软件注册(注册后方便使用)
- 安装STLINK驱动(win+x打开设备管理器,查看是否安装驱动,没有安装会出现感叹号小标)
- 安装USB转串口驱动
7.新建工程
- 基于寄存器的方式创建(不建议)
- 库函数的的创建方式(比较适合学习)
- HAL的图形化的创建方式(学习底层逻辑之后可以使用,由于隐藏了底层逻辑)
8.创建工程步骤
- 建立工程文件夹,keil中新建工程,选择型号
- 工程文件夹里创建Start,Library,User等同名称的分组,然后将文件夹里的文件添加到工程分组里(Startup文件:复位中断即调动systemInit和main函数;其他中断,调用中断和处理函数system文件:送一systemInit,定义main函数,定义中断和处理函数,其他用户文件;stem32f10函数:外设寄存器描述,内核寄存器描述,库函数,库函数的配置)
- 工程选项,C/C++,Include Paths里声明所有包含头文件的文件夹;Define内定义USE_STDPERIPH_DRIVER;debug下拉列表选择对应调试器,SEttings,Flash Download里勾选Reset and Run,选择调试器来进行下载,用什么就选择什么
9.GPIO简介
- 通用的输入输出口,可配置为8种输入输出模式
|
模式名称 |
性质 |
特征 |
|
浮空输入 |
数字输入 |
可读取引脚电平,若引脚悬空,则电平不确定 |
|
上拉输入(弱上拉) |
数字输入 |
可读取引脚电平,内部连接上拉电阻,悬空时默认高电平 |
|
下拉输入(弱下拉) |
数字输入 |
可读取引脚电平,内部连接下拉电阻,悬空时默认低电平 |
|
模拟输入 |
模拟输入 |
GPIO无效,引脚直接接入内部ADC |
|
开漏输出 |
数字输出 |
可输出引脚电平,高电平为高阻态,低电平接VSS |
|
推挽输出 |
数字输出 |
可输出引脚电平,高电平接VDD,低电平接VSS |
|
复用开漏输出 |
数字输出 |
由片上外设控制,高电平为高阻态,低电平接VSS |
|
复用推挽输出 |
数字输出 |
由片上外设控制,高电平接VDD,低电平接VSS |
- 引脚电平:0v-3.3v(低电平到高电平),部分引脚可容忍5v
- 输出模式下可控制端口输出.高低电平,用以驱动LED,蜂鸣器,模拟通信协议输出时序等
- 输入模式下可以读取端口的高低电平和电压,用于读取按键输入,外接模块电平信号输入,ADC电压采集,模拟通信协议接收数据
10.LED与蜂鸣器的简介
- LED:发光二极管,正向通电点亮,反向通电不亮
- 有源蜂鸣器:内部自带振荡源,将正负极接上直流电压即可持续发声,频率固定
- 无源蜂鸣器:内部不带振荡源,需要控制器提供振荡脉冲才可发声,调整提供振荡脉冲的频率,可发出不同频率的声音
11.按键简介
- 按键:常见的输入设备,按下导通,松手断开
- 按键抖动:由于按键内部使用的是机械式弹簧片来进行通断的,所以在按下和松手的瞬间会伴随有一连串的抖动
12.传感器介绍
传感器模块:传感器元件(光敏电阻/热敏电阻/红外接收管等)的电阻会随外界模拟量的变化而变化,通过与定值电阻分压即可得到模拟电压输出,再通过电压比较器进行二值化即可得到数字电压输出
网硕互联帮助中心





评论前必须登录!
注册