云计算百科
云计算领域专业知识百科平台

STM32单片机学习篇1

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.传感器介绍

传感器模块:传感器元件(光敏电阻/热敏电阻/红外接收管等)的电阻会随外界模拟量的变化而变化,通过与定值电阻分压即可得到模拟电压输出,再通过电压比较器进行二值化即可得到数字电压输出

赞(0)
未经允许不得转载:网硕互联帮助中心 » STM32单片机学习篇1
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!