STM32学习(一)-- stm32简介

这篇具有很好参考价值的文章主要介绍了STM32学习(一)-- stm32简介。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

前言

一、STM32简介

1.STM32 是什么

2.STM32 应用领域

3.STM32 优势

 二、ARM简介

三、STM32芯片

1.芯片命名规则

 2.型号分类及缩写 

四、STM32F103C8T6

1.STM32F103C8T6 简介

2.片上资源/外设

3.引脚定义

 4.系统结构

 5.启动配置

 6.最小系统电路

 五、总结


前言

哈喽,大家好!本人目前刚开始学习stm32单片机,记录自己个人的学习过程,如果有讲的不好的地方,还请大家指正,非常感谢~~

主要介绍STM32是什么、应用领域、优势、STM32F103C8T6芯片介绍、STM32F103C8T6片上资源/外设、命名规则、系统结构、引脚定义、启动配置、最小系统电路等。

一、STM32简介

1.STM32 是什么

STM32是意法半导体(STMicroelectronics)公司(简称ST公司)基于ARM Cortex-M内核开发的32位微控制器(MCU)产品,在嵌入式系统中广泛应用。

2.STM32 应用领域

STM32常应用在嵌入式领域,如智能车、无人机、机器人、无线通信、物联网、工业控制、娱乐电子产品、医疗设备、智能家居等。

3.STM32 优势

  • STM32功能强大、性能优异、片上资源丰富、功耗低,是一款经典的嵌入式微控制器。
  • STM32提供了丰富的功能和接口,包括通用输入/输出引脚、通信接口(如UART、SPI、I2C、CAN等)、模拟输入/输出、定时器、中断控制器等。它们还具有灵活的开发工具链和丰富的软件生态系统,能够为开发者提供便利的开发环境和丰富的应用资源。

 二、ARM简介

  1. ARM既指ARM公司,也指ARM处理器内核。
  2. ARM Cortex-M内核是一种嵌入式处理器内核架构,由英国ARM公司推出。它专门设计用于微控制器(MCU)应用,具有出色的性能、低功耗和高度可定制的特性。
  3. Cortex-M内核系列有多个不同的版本,如Cortex-M0、Cortex-M3、Cortex-M4和Cortex-M7等。每个版本都有不同的特性和性能级别,以满足不同应用的需求。
  4. ARM公司是全球领先的半导体知识产权(IP)提供商,全世界超过95%的智能手机和平板电脑都采用ARM架构
  5. ARM公司设计ARM内核,半导体厂商完善内核周边电路并生产芯片
stm32,STM32学习记录,stm32,学习,嵌入式硬件,笔记,单片机
图1 基于Cortex-M3 的MCU
stm32,STM32学习记录,stm32,学习,嵌入式硬件,笔记,单片机
图2 ARM Cortex-M内核系列版本

三、STM32芯片

1.芯片命名规则

stm32,STM32学习记录,stm32,学习,嵌入式硬件,笔记,单片机
图3 STM32芯片命名规则

 2.型号分类及缩写 

STM32将芯片分为LD(Low Density)、MD(Middle Density)、HD(High Density)三类,可以分别称为低级、中级、高级。

ps:对于内存大于等于256k的芯片,含有额外的功能,如:有LCD接口,DMA通过达到12个并且含有DAC等。

表1 芯片型号分类及缩写 

缩写

释义

Flash容量

型号

LD_VL

小容量产品超值系列

16~32K

STM32F100

MD_VL

中容量产品超值系列

64~128K

STM32F100

HD_VL

大容量产品超值系列

256~512K

STM32F100

 LD

小容量产品

16~32K

STM32F101/102/103

MD

中容量产品

64~128K

STM32F101/102/103

HD

大容量产品

256~512K

STM32F101/102/103

XL

加大容量产品

大于512K

STM32F101/102/103

CL

互联型产品

-

STM32F105/107

四、STM32F103C8T6

1.STM32F103C8T6 简介

stm32,STM32学习记录,stm32,学习,嵌入式硬件,笔记,单片机
图4 STM32F103C8T6芯片
  • 系列:主流系列STM32F1
  • 内核:ARM Cortex-M3
  • 主频:72MHz
  • ROM:(Read-Only Memory)只读存储器,64KB
  • Flash存储器:128KB,用于存储程序代码和只读数据
  • SRAM:(静态随机存储器)20KB,用于临时存储数据和堆栈等
  • 供电:2.0~3.6V(标准3.3V)
  • 封装:LQFP48

2.片上资源/外设

片上资源(On-Chip Resources)指的是集成在微控制器芯片上的各种硬件模块、电路和功能单元,用于实现特定功能或提供一定的功能支持。

外设(Peripheral)指的是与微控制器相连的外部设备或模块,例如传感器、执行器、存储器、通信接口等。外设主要通过微控制器上的引脚和片上资源进行连接和控制。

在微控制器中,片上资源通常是指集成在芯片内部,与核心处理器相连的各种硬件模块,例如定时器、通用输入/输出口(GPIO)、串行通信接口(USART、SPI、I2C)、模数转换器(ADC)、直接内存访问控制器(DMA)等。这些片上资源可以被程序通过寄存器配置和控制,实现各种功能和数据交换。

外设则是连接在微控制器芯片引脚上的外部设备或模块,它们不直接属于芯片内部的硬件模块,但通过微控制器的片上资源进行控制和通信。例如,与微控制器相连的传感器、执行器、存储设备、通信接口设备等,都可以视为外设。

通过集成丰富的片上资源和与外部设备通信的外设,微控制器可以实现各种功能,满足不同应用的需求。

ps:实际上,不同系列的STM32微控制器可能具有不同的片上资源和外设组合。(有个印象即可)

表2 STM32F103C8T6 片上资源/外设

英文缩写

名称

英文缩写

名称

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主机接口

  • NVIC(Nested Vectored Interrupt Controller)是嵌套向量中断控制器,用于管理和控制微处理器中的中断请求。
  • SysTick(System Timer Tick)是一个系统定时器,用于提供一个可编程的定时器,通常用于生成固定时间间隔的中断。
  • RCC(Reset and Clock Control)是复位和时钟控制模块,用于配置和控制微处理器的系统时钟和复位信号。
  • GPIO(General Purpose Input/Output)是通用输入/输出口,用于连接外部设备或传感器,以实现输入和输出功能。
  • AFIO(Alternate Function Input/Output)是备用功能输入/输出控制器,用于配置微处理器的IO口的功能和引脚映射。
  • EXTI(External Interrupt)是外部中断控制器,用于处理外部设备或传感器的中断信号。
  • TIM(Timer)是定时器模块,用于测量时间间隔、产生定时器中断、控制PWM信号等。
  • ADC(Analog-to-Digital Converter)是模数转换器,用于将模拟信号转换为数字信号。
  • DMA(Direct Memory Access)是直接内存访问控制器,用于实现设备之间的数据传输,减轻CPU的数据传输负担。
  • USART(Universal Synchronous/Asynchronous Receiver/Transmitter)是通用同步/异步串行接收/发送器,用于实现串口通信。
  • I2C(Inter-Integrated Circuit)是串行通信总线,用于在微处理器和外部设备之间进行短距离通信。
  • SPI(Serial Peripheral Interface)是串行外设接口,用于在微处理器和外部设备之间进行通信,支持高速数据传输。
  • CAN:控制器局域网(Controller Area Network),用于实现实时数据传输和通信。
  • USB:通用串行总线(Universal Serial Bus),用于高速数据传输和设备之间的通信。
  • RTC:实时时钟(Real-Time Clock),用于记录和维护精确的实时时间。
  • CRC:循环冗余校验(Cyclic Redundancy Check),用于检测数据传输中的错误。
  • PWR:电源(Power),用于管理和控制微控制器的电源供应。
  • BKP:备份寄存器(Backup Registers),用于持久性存储数据。
  • IWDG:独立看门狗(Independent Watchdog),用于监视系统运行状态并执行复位操作。
  • WWDG:窗口看门狗(Window Watchdog),用于灵活的系统监控和复位操作。
  • DAC:数模转换器(Digital-to-Analog Converter),用于将数字信号转换为模拟信号。
  • SDIO:安全数字输入/输出(Secure Digital Input/Output),用于存储和通信的接口。
  • FSMC:静态存储控制器(Flexible Static Memory Controller),用于连接外部存储器的接口模块。
  • USB OTG:USB On-The-Go,在移动设备中实现主机和设备模式的切换以支持双向通信和数据交换。

3.引脚定义

STM32F103C8T6芯片具有48个引脚,这些引脚可以用于连接外部设备和扩展模块。

stm32,STM32学习记录,stm32,学习,嵌入式硬件,笔记,单片机
图5 STM32F103C8T6引脚定义

ps:

  • 标橙色:电源相关引脚;   标蓝色:最小系统相关的引脚;   标绿色:IO口、功能口引脚
  • S:电源;  I:输入;  O:输出;  I/O:输入输出
  • I/O口电平:I/O口所能容忍的电压;(FT:5V;  无FT:3.3V)

        (ps:若无FT且需要接5V电平,则需要加装电平转换电路)

  • 主功能:上电后默认功能(一般和引脚名称相同,若不同则引脚实际功能是主动功能而不是引脚名称的功能)
  • 默认复用功能:I/O口上同时连接的外设功能引脚(配置I/O口时可选择通用I/O口或复用功能)
  • 重定义功能:若两个功能同时复用在一个I/O口,可以把其中一个复用功能重映射到其他端口上(前提是重定义功能表里有对应端口)
表3 STM32F103C8T6引脚定义表
引脚号 引脚名称 类型 I/O口电平 主功能 默认复用功能 重定义功能
1 VBAT  VBAT
2 PC13-TAMPER-RTC I/O  PC13 TAMPER-RTC
3 PC14-OSC32_IN I/O  PC14 OSC32_IN
4 PC15-OSC32_OUT I/O  PC15 OSC32_OUT
5 OSC_IN  OSC_IN
6 OSC_OUT  OSC_OUT
7 NRST  I/O  NRST
8 VSSA  VSSA
9 VDDA  VDDA
10 PA0-WKUP  I/O  PA0 WKUP/USART2_CTS/ADC12_IN0/TIM2_CH1_ETR
11 PA1  I/O  PA1  USART2_RTS/ADC12_IN1/TIM2_CH2
12 PA2  I/O  PA2  USART2_TX/ADC12_IN2/TIM2_CH3
13 PA3  I/O  PA3  USART2_RX/ADC12_IN3/TIM2_CH4
14 PA4  I/O  PA4  SPI1_NSS/USART2_CK/ADC12_IN4
15 PA5  I/O  PA5  SPI1_SCK/ADC12_IN5
16 PA6  I/O  PA6  SPI1_MISO/ADC12_IN6/TIM3_CH1 TIM1_BKIN
17 PA7  I/O  PA7  SPI1_MOSI/ADC12_IN7/TIM3_CH2 TIM1_CH1N
18 PB0  I/O  PB0  ADC12_IN8/TIM3_CH3 TIM1_CH2N
19 PB1  I/O  PB1  ADC12_IN9/TIM3_CH4 TIM1_CH3N
20 PB2  I/O  FT  PB2/BOOT1
21 PB10  I/O  FT  PB10  I2C2_SCL/USART3_TX TIM2_CH3
22 PB11  I/O  FT  PB11  I2C2_SDA/USART3_RX TIM2_CH4
23 VSS_1  VSS_1
24 VDD_1  VDD_1
25 PB12  I/O  FT  PB12 SPI2_NSS/I2C2_SMBAI/USART3_CK/TIM1_BKIN
26 PB13  I/O  FT  PB13  SPI2_SCK/USART3_CTS/TIM1_CH1N
27 PB14  I/O  FT  PB14  SPI2_MISO/USART3_RTS/TIM1_CH2N
28 PB15  I/O  FT  PB15  SPI2_MOSI/TIM1_CH3N
29 PA8  I/O  FT  PA8 USART1_CK/TIM1_CH1/MCO
30 PA9  I/O  FT  PA9  USART1_TX/TIM1_CH2
31 PA10  I/O  FT  PA10  USART1_RX/TIM1_CH3
32 PA11  I/O  FT  PA11 USART1_CTS/USBDM/CAN_RX/TIM1_CH4
33 PA12  I/O  FT  PA12 USART1_RTS/USBDP/CAN_TX/TIM1_ETR
34 PA13  I/O  FT  JTMS/SWDIO  PA13
35 VSS_2  VSS_2
36 VDD_2  VDD_2
37 PA14  I/O  FT  JTCK/SWCLK  PA14
38 PA15  I/O  FT  JTDI  TIM2_CH1_ETR/PA15/SPI1_NSS
39 PB3  I/O  FT  JTDO PB3/TRACESWO/TIM2_CH2/SPI1_SCK
40 PB4  I/O  FT  NJTRST  PB4/TIM3_CH1/SPI1_MISO
41 PB5  I/O  PB5  I2C1_SMBAI  TIM3_CH2/SPI1_MOSI
42 PB6  I/O  FT  PB6  I2C1_SCL/TIM4_CH1 USART1_TX
43 PB7  I/O  FT  PB7  I2C1_SDA/TIM4_CH2 USART1_RX
44 BOOT0  BOOT0
45 PB8  I/O  FT  PB8  TIM4_CH3 I2C1_SCL/CAN_RX
46 PB9  I/O  FT  PB9  TIM4_CH4 I2C1_SDA/CAN_TX
47 VSS_3  VSS_3
48 VDD_3  VDD_3

 4.系统结构

stm32,STM32学习记录,stm32,学习,嵌入式硬件,笔记,单片机
图6 STM32F103C8T6系统结构

 5.启动配置

ps:X:即无论接什么; 1:即接3.3V电源; 0:即接GND 

(一般情况下BOOT1和BOOT0都接GND,即主闪存存储器(Flash)为启动区域)

stm32,STM32学习记录,stm32,学习,嵌入式硬件,笔记,单片机
图7 STM32F103C8T6的启动配置

 6.最小系统电路

stm32,STM32学习记录,stm32,学习,嵌入式硬件,笔记,单片机
图8 STM32F103C8T6最小系统电路

 五、总结

个人学习资料来源b站视频:

[1-2] STM32简介_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1th411z7sn/?p=2&spm_id_from=333.880.my_history.page.click&vd_source=9778399bc878bb45906a6acdd2554325文章来源地址https://www.toymoban.com/news/detail-760940.html

到了这里,关于STM32学习(一)-- stm32简介的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 嵌入式毕设分享 stm32 RFID智能仓库管理系统(源码+硬件+论文)

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月20日
    浏览(74)
  • 【嵌入式学习笔记】嵌入式基础9——STM32启动过程

    程序段交叉引用关系(Section Cross References):描述各文件之间函数调用关系 删除映像未使用的程序段(Removing Unused input sections from the image):描述工程中未用到被删除的冗余程序段(函数/数据) 映像符号表(Image Symbol Table):描述各符号(程序段/数据)在存储器中的地址、类

    2024年02月15日
    浏览(87)
  • STM32的时钟系统(嵌入式学习)

    时钟是指用于计量和同步时间的装置或系统。时钟是嵌入式系统的脉搏,处理器内核在时钟驱动下完成指令执行,状态变换等动作,外设部件在时钟的驱动下完成各种工作,例如:串口数据的发送、AD转换、定时器计数等。因此时钟对于计算机系统是至关重要的,通常时钟系

    2024年02月16日
    浏览(50)
  • STM32串口通信详解(嵌入式学习)

    时钟信号在电子领域中是指用于同步和定时电路操作的周期性信号。它在数字系统和通信系统中起着至关重要的作用,用于协调各个组件之间的数据传输和操作。 时钟信号有以下几个重要的方面: 频率:时钟信号的频率是指单位时间内信号周期的数量。它通常以赫兹(Hz)为

    2024年02月09日
    浏览(69)
  • 嵌入式学习笔记——STM32的时钟树

    在之前的所有代码编程的过程中,似乎每次都绕不开一个叫做时钟使能的东西,当时我们是在数据手册上直接看其挂接在那条时钟线上的,那么STM32内部的时钟到底是怎么一个构型呢,本文来对此做一个介绍。 老规矩,一个新的名词出现,首先需要搞清楚它是个啥,下图中对

    2024年02月02日
    浏览(58)
  • STM32的中断系统详解(嵌入式学习)

    中断是处理器中的一种机制,用于响应和处理突发事件或紧急事件。当发生中断时,当前正在执行的程序会被暂时中止,处理器会跳转到中断处理程序(也称为中断服务例程),对中断事件进行处理。处理完中断后,处理器再返回到被中断的程序继续执行。 中断可以分为内部

    2024年02月12日
    浏览(75)
  • STM32&ARM体系结构(嵌入式学习)

    STM32是意法半导体(STMicroelectronics)公司推出的一系列32位ARM Cortex-M微控制器(MCU)产品系列。它们基于ARM架构,并且具有广泛的应用领域,包括工业自动化、消费电子、医疗设备、通信、汽车电子等。 STM32系列提供了多个产品系列,以满足不同应用需求和性能要求。其中常见

    2024年02月08日
    浏览(67)
  • STM32开发环境搭建&工程创建(嵌入式学习)

    简介 STM32CubeMX是STMicroelectronics公司提供的一款集成开发环境(IDE)工具,用于快速配置和初始化STM32微控制器系列的软件工程。它提供了图形化界面和交互式工具,使开发者能够轻松地生成STM32微控制器的初始化代码和配置文件。 STM32CubeMX具有以下主要功能和特点: 微控制器

    2024年02月11日
    浏览(74)
  • 嵌入式学习stm32基础知识(期末复习)

    1. 计算机的体系架构 冯诺依曼架构 ​ 在完整的计算机系统中,包含五个部分,储存器,运算器,控制器输入设备和输出设备。 改进的冯诺依曼架构 改进型架构的各模块的高速数据交换中心利用储存器这个大容量,极大的提高了效率。 哈佛架构 ​ 哈佛结构数据空间和地址

    2024年02月07日
    浏览(72)
  • STM32的定时器详解(嵌入式学习)

    想要了解STM32的时钟系统 点击这里跳转——》STM32的时钟系统(嵌入式学习) 建议先看看时钟树如何配置 点击这里跳转——》STM32的时钟树配置(嵌入式学习) 跳转——》STM32的时钟基础详解(嵌入式学习) 跳跳转——》STM32的时钟源详解(嵌入式学习) SysTick又称滴答定时

    2024年02月13日
    浏览(70)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包