STM32入门学习(一):STM32 简介与软件安装

参考引用

1. STM32 简介

1.1 STM32 套件介绍

在这里插入图片描述

1.2 STM32 简介

  • STM32 是 ST 公司基于 ARM Cortex-M 内核开发的 32 位微控制器

    • 应用:嵌入式领域,如智能车、无人机、机器人、无线通信、物联网、工业控制、娱乐电子产品等

在这里插入图片描述

1.3 ARM 介绍

  • ARM 既指 ARM 公司,也指 ARM 处理器内核

    • ARM 公司是全球领先的半导体知识产权(IP)提供商,全世界超过 95% 的智能手机和平板电脑都采用 ARM 架构
    • ARM 公司设计 ARM 内核,半导体厂商完善内核周边电路并生产芯片

在这里插入图片描述

1.4 STM32F103C8T6

  • 核心参数

    • 系列:主流系列STM32F1
    • 内核:ARM Cortex-M3
    • 主频:72MHz
    • RAM:20K(运行内存,存储介质为 SRAM)
    • ROM:64K(程序存储器,存储介质为 Flash 闪存)
    • 供电:2.0~3.6V
      • 标准 3.3V,常用 USB 供电电压为 5V,不能直接给 STM32 供电,需要加一个稳压芯片降到 3.3V 再供电
    • 封装:LQFP48

在这里插入图片描述

1.5 片上资源/外设(Peripheral)

  • 主要学习的内容就是 STM 的外设,通过程序配置外设,来完成想要的功能
    • NVIC 和 SysTick 是位于 Cortex-M3 内核里面的外设,其余都是内核外的外设
    • NVIC:内核里面用于管理中断的设备

      • 比如配置中断优先级
    • SysTick:用来给操作系统提供定时服务

      • 该 STM32 可加入 FreeRTOS 操作系统,如果要使用操作系统,就需 SysTick 提供定时来进行任务切换
      • 还可用来完成 Delay 函数功能
    • RCC:对系统的时钟进行配置,使能各模块的时钟

      • 在 STM32 中,其它的这些外设在上电的的情况下默认是没有时钟的,不给时钟的情况下操作外设是无效的,这样设计的目的是降低功耗,所以操作外设之前必须先使能它的时钟
    • GPIO:通用 IO 口,用来点灯,读取按键等
    • AFIO:可以完成复用功能端口的重定义,还有中断端口的配置
    • EXIT:配置好外部中断后,当引脚有电平变化时,就可以触发中断,让CPU来处理任务
    • TIM:STM32 中最常用、功能最多的外设

      • 分为高级定时器、通用定时器、基本定时器三种类型
      • 通用定时器最常用,可以完成测频率、生成 PWM 波形、配置成专用的编码器接口等功能
    • ADC:该 STM32 内置了 12 位的 AD 转换器

      • 可以直接读取 IO 口的模拟电压值,无需外部连接 AD 芯片
    • DMA:帮助 CPU 完成搬运大量数据等这样的繁杂任务
    • USART:平常用的 UART 更多是异步串口
    • I2C 和 SPI:常用的通信协议

      • STM32 内置了它们的控制器,可以用硬件来输出时序波形,也可用通用 IO 口来模拟时序波形
    • CAN:通常用于汽车领域的通信协议
    • USB:利用这个 STM32 的 USB 外设可以做一个模拟鼠标、模拟 U 盘的设备
    • RTC:在 STM32 内部完成年、月、时分秒的计时功能

      • 还可接外部备用电池,即使掉电也能正常运行
    • CRC:一种数据的校验方式,用于判断数据的正确性
    • PWR:让芯片进入睡眠模式等状态,来达到省电的目的
    • BKP:这是一段存储器,当系统掉电时,仍可由备用电池保持数据
    • IWDG 和 WWDG:当单片机因为电磁干扰死机或程序设计不合理出现死循环时,看门狗可以及时复位芯片,保证系统的稳定
    • DAC:可以在 IO 口直接输出模拟电压
    • SDIO:用来读取 SD 卡
    • FSMC:用于扩展内存,或者配置成其他总线协议,用于某些硬件的操作
    • USB OTG:用 OTG 功能,可以让 STM32 作为 USB 主机去读取其他 USB 设备

在这里插入图片描述

1.6 芯片命名规则

在这里插入图片描述

1.7 系统结构

  • ICode 指令总线、DCode 数据总线、System 系统总线
    • ICode:指令总线用来加载程序指令
    • DCode:数据总线用于加载数据
    • AHB:系统总线用于挂载主要的外设,AHB 意思是先进高性能总线
    • APB:先进外设总线,用于连接一般的外设
    • DMA:辅助内核 CPU 处理一些简单且重复性高的事项,比如负责一些大量数据搬运的处理,通过 DMA 总线连接到总线矩阵上,拥有和 CPU 一样的总线控制权,用于访问外设

在这里插入图片描述

1.8 引脚定义

在这里插入图片描述

1.8.1 选项解释
  • 类型

    • S 代表电源,I 代表输入,O 代表输出,I/O 代表输入输出
  • I/O 口电平

    • 代表 I/O 口所能容忍的电压
    • FT 代表能容忍 5V 的电压
    • 无 FT 则只能容忍 3.3V 的电压,若想解 5V 电平则需加装电平转换电路
  • 主功能

    • 上电后默认的功能,一般和引脚名称相同
    • 如果和引脚名称不相同,则引脚的实际功能以主功能为准
  • 默认复用功能

    • I/O 口上同时连接的外设功能引脚
    • 配置 I/O 口时可选择是通用 I/O 口还是复用功能
  • 重定义功能

    • 作用:如果有两个功能同时复用在一个 I/O 口上,则可把其中一个复用功能重映射到其他端口上
1.8.2 引脚解析
  • 1、VBRT

    • 备用电池供电的引脚,可以接一个 3V 的电池,当系统电源断电时,备用电池可以给内部的 RTC 时钟和备份寄存器供电
  • 2、I/O 口或侵入检测或 RTC

    • I/O 口可以根据程序输出或读取高低电平
    • 侵入检测用于安全保障,比如:可以在产品外壳加装防拆触点,然后接上电路到该引脚上,若有人强行拆开设备导致触点断开,则这个引脚的电平变化就会触发 STM32 的侵入信号,从而清空数据保证安全
    • RTC 的引脚可以用来输出 RTC 校准时钟、RTC 闹钟脉冲或者秒脉冲
  • 3、4 号引脚

    • I/O 口或者接 32.768KHz 的 RTC 晶振
  • 5、6 号引脚

    • 接系统的主晶振,一般是 8MHz,芯片内部有锁相环电路,可以对这个 8MHz 的频率进行倍频得到 72MHz 的主频,作为系统主时钟
  • 7、NRST

    • 系统复位引脚,N 代表它是低电平复位
  • 8、9号引脚

    • 内部模拟部分的电源,比如 ADC、RC 震荡器等
    • VSS 是负极,接 GND,VDD 是正极,接 3.3V
  • 10-19 号引脚,21-22 号引脚

    • 都是 I/O 口,PA0 可以用于唤醒处于待机模式的 STM32
  • 20、PB2

    • I/O 口或者 BOOT1 引脚
    • BOOT 引脚是用来配置启动模式的
  • 23、24号的 VSS_1 和 VDD_1 是系统的主电源口

    • 另外,下面的 VSS_2、VDD_2、VSS_3、VDD_3 都是系统的主电源口
    • VSS 是负极,接 GND,VDD 是正极,接 3.3V
    • STM32 内部采用了分区供电的方式
  • 25-33 号引脚都是 I/O 口
  • 34-40 号引脚

    • I/O 口或者调试端口,用于调试程序与下载程序(尽量不要把这几个都变成 I/O 口,因为这样就没有用于调试的端口了,只能通过设置启动配置 0 + 1 用于串口下载)
    • 该 STM32 支持 SWD 和 JTAG 两种调试方式

      • SWD 需要 2 根线,分别是 SWDIO 和 SWCLK
      • JTAG 需要 5 根线,分别是 JTMS、JTCK、JTDI、JTDO、NJTRST

      本文使用 STLINK 来下载调试程序,STLINK 用的是 SWD 的方式,只需占用 PA13 和 PA14 两个 I/O 口

  • 41-43 和 45-46 号引脚都是 I/O 口
  • 44号 BOOT0,和前面的 BOOT1 一样,也是用来做启动配置的

1.9 启动配置

  • 启动配置的作用就是指定程序开始运行的位置

    • 一般情况下,程序都是在 Flash 程序存储器开始执行,但是在某些情况下,也可以让程序在别的地方开始执行,用以完成特殊功能
  • 下图中 X 代表任何接口,0 表示接地,1 表示接 3.3V 电源正极

    • X + 0 最常用的模式
    • 0 + 1 用于串口下载使用
      • 系统存储器中储存的就是 STM32 中的一段 BootLoader 程序
      • BootLoader 程序的作用就是接收串口数据,然后刷新到主闪存中
    • 1 + 1 用来进行程序调试
      在这里插入图片描述

1.10 最小系统电路

在这里插入图片描述

2. 软件安装

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>