初识STM32与其选型

初识STM32与其选型

1.什么是STM32

​ STM32系列是ST公司推出的一系列基于CortexM3、CortexM4内核的芯片,其不同的型号的芯片具有不同设计用途。一般来说,STM32作为51单片机的更强版本,可比51单片机更快、做更多的事情,最重要的是,STM32能运行真正意义上的嵌入式操作系统,比起前后台系统具有更高的调度效率和更加稳定的运行环境。简而言之,作为学习路上与工程应用上承上启下的芯片,STM32是能最大限度运行操作系统的最底层系列芯片,很适合作为基础入门学习、电子爱好者使用设计。

初识STM32与其选型_第1张图片

2.STM32能干什么

​ 若你学习过51、AVR等单片机,那你一定知道“流水灯”这一单片机式的“hello world”,简单来说,STM32能比前述单片机做更多的事情,而且能做的更快。STM32具有更多的内设:定时器、串口、SPI、ADC等等,最显著的特征便是众多的I/O口,能够接非常多的外设,同时凭借以MHz为单位的核心频率使得STM32能够游刃有余的操作各种外设,执行指令。

​ 一般而言,STM32凭借出色的性能、低廉的价格、友好的开发方式,赢得了一致的好评,下到键盘鼠标,上到仪器设备,STM32能很好的完成各种不同的任务,无论是单纯的作为下位机执行程序,又或者作为主机调度各个模块的工作,STM32都不会让你失望。

初识STM32与其选型_第2张图片

3.STM32的系列

​ 根据芯片设计思路不同,通常将STM32划分为以下几种类型:

​ 1.主流产品(STM32F0、STM32F1、STM32F3)

​ 2.超低功耗产品(STM32L0、STM32L1、STM32L4、STM32L4+)

​ 3.高性能产品(STM32F2、STM32F4、STM32F7、STM32H7)

​ 通常来说,学习入门用F1系列即可,能满足大部分的学习要求。但若遇到要设计进行工程选型的时候,通常先根据功能选择有合适资源的STM32芯片,然后根据工程所需的代码量选择不同内存的型号即可。以下给出芯片型号的说明。(来源百度百科)

1 STM32 STM32代表ARM Cortex-M内核的32位微控制器。
2 F F代表芯片子系列。
3 103 103代表增强型系列。
4 R R这一项代表引脚数,其中T代表36脚,C代表48脚,R代表64脚,V代表100脚,Z代表144脚,I代表176脚。
5 B B这一项代表内嵌Flash容量,其中6代表32K字节Flash,8代表64K字节Flash,B代表128K字节Flash,C代表256K字节Flash,D代表384K字节Flash,E代表512K字节Flash,G代表1M字节Flash。
6 T T这一项代表封装,其中H代表BGA封装,T代表LQFP封装,U代表VFQFPN封装。
7 6 6这一项代表工作温度范围,其中6代表-40——85℃,7代表-40——105℃。

4.STM32的资源(汇总查询)

4.1核心频率

​ 1.STM32F0:48MHz

​ 2.STM32F1:72MHz

​ 3.STM32F2:120MHz

​ 4.STM32F3:72MHz

​ 5.STM32F4:168MHz

​ 6.STM32F7:216MHz

4.2串口资源

​ 1.STM32F103C8:USART1、USART2、USART3

​ 2.STM32F103C8:USART1、USART2、USART3、UART4、UART5

​ 3.STM32F407ZETX:USART1、USART2、USART3、UART4、UART5、USART6

​ 4.STM32F429IGTX:USART1、USART2、USART3、UART4、UART5、USART6、UART7、UART8

4.3ADC数量

​ 1.STM32F103C8:ADC1、ADC2

​ 2.STM32F103ZE:ADC1、ADC2、ADC3

​ 3.STM32F407ZETX:ADC1、ADC2、ADC3

​ 4.STM32F429IGTX:ADC1、ADC2、ADC3

4.4定时器数量

​ 1.STM32F103C8:TIM1、TIM2、TIM3、TIM4

​ 2.STM32F103ZE:TIM1、TIM2、TIM3、TIM4、TIM5、TIM6、TIM7、TIM8

​ 3.STM32F407ZETX:TIM1、TIM2、TIM3、TIM4、TIM5、TIM6、TIM7、TIM8、TIM9、TIM10、TIM11、TIM12、TIM13、TIM14

​ 4.STM32F429IGTX:TIM1、TIM2、TIM3、TIM4、TIM5、TIM6、TIM7、TIM8、TIM9、TIM10、TIM11、TIM12、TIM13、TIM14

5.STM32的库与开发方式

5.1寄存器

​ 寄存器开发方式是对底层寄存器进行位操作,基本是通过逻辑与或非对寄存器赋值实现特定功能。STM32有上百个寄存器,通常需要配合数据手册进行设计代码,但此方式设计的代码效率是极高的。

5.2标准库

​ 标准库是对寄存器开发方式所进行的一种包装整合,可直接调用官方准备好的API函数进行代码编写设计,其实就是软件抽象层。

5.3HAL/LL库

​ HAL库是ST公司目前主力推的开发方式,全称Hardware Abstraction Layer(抽象印象层)。和标准库一样,HAL库的一些函数可以做到某些特定功能的集成。也就是说,同样的功能,标准库可能要用几句话,HAL库只需用一句话就够了。并且HAL库也很好的解决了程序移植的问题,只要使用的是相通的外设,程序基本可以完全复制粘贴,注意是相同外设,但方便的同时也造成了它执行效率的低下,毕竟需要层层调用函数达到实现功能的结果。

​ LL库是最近推出的比HAL库体积更小的库。

5.4STM32cube

​ STM32cube是ST官方推出的图形配置STM32资源的软件,直接生成可执行代码文件。

5.5Keilx

​ 目前为Keil5版本,STM32的开发下载软件。

6.STM32的操作系统

ube是ST官方推出的图形配置STM32资源的软件,直接生成可执行代码文件。

5.5Keilx

​ 目前为Keil5版本,STM32的开发下载软件。

6.STM32的操作系统

​ 当前STM32常用的操作系统:μC/OS-II、FreeRTOS。

你可能感兴趣的:(STM32的软硬件设计)