【STM32入门指南:初识STM32】

目录

  • 1、 什么是STM32
  • 1.1、STM32的字面含义
  • 1.2、STM32诞生的背景
  • 2、STM32能做什么
  • 2.1、STM32有什么
  • 2.2、身边常见的电子产品
  • 3、STM32怎么选型
  • 3.1、STM32分类
  • 3.2、ST的32位微控制器产品线
  • 3.2.1、STM32F103VET6
  • 3.3、STM32的命名方法
  • 3.4、如何分配原理图引脚
  • 3.5、数据手册中对引脚的功能定义
  • 3.6、引脚的功能定义解读
  • 3.7、PCB哪里打样
  • 4、STM32常用几种开发方式
  • 对比总结
  • 示例
  • 5、STM32基于什么架构
  • 5.1、基于ARM Cortex架构
  • 5.2、ARM的概念
  • 5.3、ARM内核分类
  • 5.3.1、按代数
  • 5.3.2、按系列
  • 5.4、内核与外设
  • 1、 什么是STM32

    1.1、STM32的字面含义

    1、ST— 意法半寻体,是一个公司名,即SOC厂商
    2、M— Microelectronics的缩写,表示微控制器,大家注意微控制
    器和微处理器的区别
    3、32— 32bit的意思,表示这是一个32bit的微控制器

    1.2、STM32诞生的背景

    1、技术的更替,这个是最主要的原因
    2、市场的需求(成本、性能、功耗、GUI、操作系统),传统的8/16位的微控制器,
    久经岁月的洗礼,如今虽有余晖,当面对这些需求时更显的是捉襟见肘
    3、ST的努力(产品线丰富、开发简单易上手—基于固件库开发),让STM32在众多的
    基于Cortex-M内核的微控制器中脱引而出,成为最璀璨的新星

    2、STM32能做什么

    2.1、STM32有什么

    STM32属于一个微控制器,自带了各种常用通信接口,功能非常强大
    1、串口—USART,用于跟跟串口接口的设备通信,比如:USB转串口模块、ESP8266
    WIFI、GPS模块,GSM 模块,串口屏、指纹识别模块
    2、内部集成电路—I2C,用于跟I2C接口的设备通信,比如:EEPROM、电容屏、陀螺
    仪MPU6050、0.96寸OLED模块
    3、串行通信接口—SPI,用于跟SPI接口的设备通信,比如:串行FLASH、以太网
    W5500、音频模块VS1053
    4、SDIO、FSMC的超级、I2S、ADC、GPIO

    2.2、身边常见的电子产品

    智能手环,微型四轴飞行器,平衡车、扫地机、移动POST机,智能电饭锅,3D打印机


    3、STM32怎么选型

    3.1、STM32分类

    3.2、ST的32位微控制器产品线

    3.2.1、STM32F103VET6
  • 内核架构: ARM Cortex-M3
  • 引脚: 100
  • FLASH大小: 512kB
  • 封装: QFP
  • 不同型号性能有差异, 但开发和应用是相通的, 甚至可以直接迁移

    3.3、STM32的命名方法

    3.4、如何分配原理图引脚

    3.5、数据手册中对引脚的功能定义

    3.6、引脚的功能定义解读

    3.7、PCB哪里打样

    4、STM32常用几种开发方式

  • 寄存器模式
  • 标准库模式
  • LL库
  • HAL库
  • 对比总结

    开发方式 性能 开发效率 代码可读性 资源占用 适用场景
    寄存器开发 最高 最低 较差 最少 高性能、实时控制、优化需求高
    标准外设库 较高 中等 较好 较少 旧项目维护、简单应用
    LL库 中等 较好 较少 高性能、精细控制硬件
    HAL库 中等 最高 最好 较多 快速开发、复杂应用、新项目

    示例

    #寄存器直接操作
    GPIOA->ODR |= (1 << 5);  // 置高PA5
    GPIOA->ODR &= ~(1 << 5); // 置低PA5
    #标准库
    GPIO_SetBits(GPIOA, GPIO_Pin_5);  // 置高PA5
    GPIO_ResetBits(GPIOA, GPIO_Pin_5); // 置低PA5
    #LL库
    LL_GPIO_SetOutputPin(GPIOA, LL_GPIO_PIN_5);// 置高PA5
    LL_GPIO_ResetOutputPin(GPIOA, LL_GPIO_PIN_5);// 置低PA5
    # HAL库
    HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_SET);  // 置高PA5
    HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_RESET); // 置低PA5
    

    5、STM32基于什么架构

    5.1、基于ARM Cortex架构

    5.2、ARM的概念

  • ARM公司(现为Arm Holdings)是一家专注于研发高效低功耗处理器架构的公司,其设计被广泛应用于嵌入式系统、移动设备和物联网领域。核心业务为处理器架构设计IP授权
  • ARM公司设计的架构, 以及对应的产品
  • Advanced RISC Machine,是一种基于精简指令集计算(RISC)的处理器架构。
  • 高效的功耗比和强大的性能广泛应用于嵌入式系统,包括STM32。
  • 5.3、ARM内核分类

    5.3.1、按代数

    ARMv1 ~ ARMv9

    5.3.2、按系列
  • Cortex-M系列 : 专为嵌入式微控制器设计。
  • Cortex-M0/M0+:低功耗,适合简单控制任务。(简单的传感器, 小玩具, 消费电子)
  • Cortex-M3/M4:高性能,支持DSP指令,适合复杂应用。 (功能强一点的工业产品或消费产品, 主控)
  • Cortex-M7:更高性能,适合实时性要求高的任务 (高级功能的产品)
  • Cortex-R系列:实时性要求高的嵌入式系统。
  • Cortex-A系列:用于高性能应用,如手机和平板。
  • Cortex-X系列: 为高性能应用推出的“定制级”核心
  • 5.4、内核与外设

    ARM公司并不直接生产芯片, 而是开发并授权内核给其他半导体厂商, 在此基础上设计和定制并生产

    A系列: 高通, 联发科, 苹果, 三星, 华为, 博通

    M系列: 意法半导体(ST) , 恩智浦(NXP)

  • 内核(Core) : 负责执行指令和逻辑运算,是芯片的核心计算单元。

  • 运算单元(ALU):负责加减乘除等运算。

  • 寄存器组:用于存储临时数据和状态。

  • 指令集:如ARM Cortex-M系列支持的Thumb-2指令集。

  • 中断管理:如NVIC(嵌套向量中断控制器)。

  • 外设(Peripheral) :与外界交互,完成各种硬件功能,例如I/O操作、计时、通信等。

  • 通信接口:UART、SPI、I2C等。
  • 定时器:用于时间控制或计数。
  • ADC/DAC:模拟信号与数字信号的转换。
  • GPIO:通用输入输出引脚。
  • 作者:不被定义的~wolf

    物联沃分享整理
    物联沃-IOTWORD物联网 » 【STM32入门指南:初识STM32】

    发表回复