【STM32入门指南:初识STM32】
目录
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
不同型号性能有差异, 但开发和应用是相通的, 甚至可以直接迁移
3.3、STM32的命名方法
3.4、如何分配原理图引脚
3.5、数据手册中对引脚的功能定义
3.6、引脚的功能定义解读
3.7、PCB哪里打样
4、STM32常用几种开发方式
对比总结
开发方式 | 性能 | 开发效率 | 代码可读性 | 资源占用 | 适用场景 |
---|---|---|---|---|---|
寄存器开发 | 最高 | 最低 | 较差 | 最少 | 高性能、实时控制、优化需求高 |
标准外设库 | 较高 | 中等 | 较好 | 较少 | 旧项目维护、简单应用 |
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的概念
5.3、ARM内核分类
5.3.1、按代数
ARMv1 ~ ARMv9
5.3.2、按系列
5.4、内核与外设
ARM公司并不直接生产芯片, 而是开发并授权内核给其他半导体厂商, 在此基础上设计和定制并生产
A系列: 高通, 联发科, 苹果, 三星, 华为, 博通
M系列: 意法半导体(ST) , 恩智浦(NXP)
内核(Core) : 负责执行指令和逻辑运算,是芯片的核心计算单元。
运算单元(ALU):负责加减乘除等运算。
寄存器组:用于存储临时数据和状态。
指令集:如ARM Cortex-M系列支持的Thumb-2指令集。
中断管理:如NVIC(嵌套向量中断控制器)。
外设(Peripheral) :与外界交互,完成各种硬件功能,例如I/O操作、计时、通信等。
作者:不被定义的~wolf