作为STM32初学者,一般会选择购置一块开发板,因为在开发板上有很多已经集成好的模块,如红外模块、按键模块、LED模块、DAC模块、ADC模块、can模块、485模块、以太网模块、WiFi模块、蜂鸣器模块、SRAM模块、显示屏等。有的朋友可能要用stm32做红外探测小车,那么就需要用到红外模块;有的朋友可能需要用到WiFi模块进行通信产品的设计。下面贴上一张图我学习STM32时用过的开发板。

主要讲的内容分为三部分:

  • 什么是STM32;

  • STM32与ARM之间的关系;

  • STM32能做什么。

什么是STM32

从字面意义来看:

ST:意法半导体,是一个公司的名字。

M:Microelectronics的缩写,表示微控制器,要注意微控制器和微处理器的区别。

32:32bit的意思,表示这是一个32bit的微控制器。

STM32与ARM之间的关系

ARM是英国的一家芯片设计公司,其最成功的产品莫过于32位嵌入式CPU核——也就是我们现在介绍的ARM系列,而且最常用的是ARM7和ARM9,ARM公司主要提供IP(Intellectual Property core知识产权的核心)核,就是CPU的内核结构,只包括最核心的部分,而不是完整的处理器。ARM把这个核卖给各

大半导体公司,如飞利浦、三星、ATMEL,甚至Intel等许多公司。ARM为了提高对于8位机市场的竞争力,推出了一系列 Cortex-M核,STM32就是将Cortex-M作为内核,通过一些外设等组合封装在一起就成了如今流行的32位嵌入式处理器。

在上面贴图中的开发板使用的是STM32F103芯片,也就是M3内核。Cortex-M3采用ARMv7-M架构。

ARMv7架构定义了三个面向不同应用场合的系列:

  • “A”系列:面向基于虚拟内存的操作系统和用户应用;

  • “R”系列:针对实时系统;

  • “M”系列:面向微控制器。

Cortex-M4采用ARMv7-ME架构,Cortex-M0采用ARMv6-M架构,

Cortex-A5/A8采用ARMv7-A架构, 传统的ARM7系列采用的是ARMv4T架构。

看一下STM32系列产品是如何分类的,如下面图标所示。

STM32系列产品的分类命名规则,如下图所示。

STM32能做什么

    STM32的用处取决于其内部资源,前面了解了STM32内部拥有非常多的通信接口。所以如果你使用的模块拥有此接口都可以通信。比如:

  • USART:ESP8266 WIFI模块、GSM模块、蓝牙模块、GPS模块、指纹识别模块等。

  • IIC:EEPROM、MPU6050陀螺仪、0.96寸OLED屏、电容屏等。

  • SPI:串行FLASH、以太网W5500、VS1003/1053音频模块、SPI接口的OLED屏、电阻屏等。

  • AD/DA:光敏传感器模块、烟雾传感器模块、可燃气体传感器模块、简易示波器等。

其他的一些接口这里就不罗列,反正STM32能做的东西太多太多。

在生活中可见的电子产品,如智能手环、微型四轴飞行器、平衡车、扫地机、移动POST机,智能电饭锅,3D打印机、机器人等。

STM32入门系列-介绍STM32型号与功用的更多相关文章

  1. STM32入门系列-学习STM32要掌握的内容

    STM32芯片架构 STM32F103系列芯片的系统架构如下: STM32芯片基于ARM公司的Cortex-M3内核,由ST公司设计生产,内核与总线矩阵之间有I(指令).S(系统).D(数据)三条信号 ...

  2. STM32入门系列-启动文件介绍

    在启动文件内部使用的都是汇编语言,这个文件的作用是负责执行微控制器从"复位"到"开始执行 main 函数"中间这段启动时间所必须进行的工作.它完成的具体工作有: ...

  3. STM32入门系列-存储器与寄存器介绍

    介绍两部分内容: 什么是存储器映射 什么是寄存器及寄存器映射 为了让大家对存储器与寄存器有一个更清楚的认识,并且为之后使用 C 语言来访问 STM32 寄存器内容打下基础.等明白了如何使用 C 语言封 ...

  4. STM32入门系列-库目录及文件介绍

    已经介绍了过了CMSIS标准,ST公司按照这个标准设计了一套基于STM32F10x的固件库,我们可以直接在ST公司的官网进行下载,现在给大家STM32最新固件库v3.5,在网盘上给大家提供了下载包,链 ...

  5. STM32入门系列-GPIO概念介绍

    GPIO(general purpose intput output)是通用输入输出端口的简称,可以通过软件来控制其输入和输出.STM32 芯片的 GPIO 引脚与外部设备连接起来,从而实现与外部通讯 ...

  6. STM32入门系列-开发工具keil5安装

    主要介绍如下三部分内容: keil5软件获取 keil5安装 安装STM32芯片包 软件获取 可以通过搜索引擎搜索关键字"KEIL5下载",找到其官方网站www.keil.com. ...

  7. STM32入门系列-创建寄存器模板

    介绍如何使用 KEIL5 软件创建寄存器模板, 方便之后使用寄存器方式来操作STM32开发板上的LED,让大家创建属于自己的寄存器工程模板. 获取工程模板的基础文件 首先我们在电脑任意位置创建一个文件 ...

  8. STM32入门系列-STM32时钟系统,时钟使能配置函数

    之前的推文中说到,当使用一个外设时,必须先使能它的时钟.怎么通过库函数使能时钟呢?如需了解寄存器配置时钟,可以参考<STM32F10x中文参考手册>"复位和时钟控制(RCC)&q ...

  9. STM32入门系列-STM32时钟系统,STM32时钟树

    时钟对于单片机来说是非常重要的,它为单片机工作提供一个稳定的机器周期从而使系统能够正常运行.时钟系统犹如人的心脏,一旦有问题整个系统就崩溃.我们知道STM32属于高级单片机,其内部有很多的外设,但不是 ...

随机推荐

  1. 据说是面试题:由【if(a==1&&a==2&&a==3)】引发的思考探讨

    有一天,突然在一个微信群有个群友发了张图片抛出了一道题,如图: ​

  2. sping cloud入门

    可以参考原文 https://www.cnblogs.com/sam-uncle/archive/2018/04/25/8943471.html 注册服务 https://www.cnblogs.co ...

  3. 【CF1425H】Huge Boxes of Animal Toys 题解

    原题链接 题意简介: 已知分别处在 \((-\infty,-1]\) H.\((-1,0)\) .\((0,1)\) .\([1,\infty)\) 的实数的数量(下记为集合 \(A,B,C,D\) ...

  4. JavaScript求数组中元素的最大值

    要求: 求数组[2,6,1,77,52,25,7]中的最大值. 实现思路: 声明一个保存最大元素的变量 max 默认最大值max定义为数组中的第一个元素arr[0] 遍历这个数组,把里面每个数组元素和 ...

  5. JVM 第四篇:可视化 JVM 故障处理工具

    本文内容过于硬核,建议有 Java 相关经验人士阅读. 1. 可视化工具 在 JDK 中为我们提供了大量的 JVM 故障处理工具,都在 JDK 的 bin 目录下: 这其中除了大量的命令行工具以外,还 ...

  6. 安装redis,phpstudy

    第一步: 先下载一下我分享自己的百度网盘里面的资料,网友们下载即可 链接:https://pan.baidu.com/s/1SVO-yAEqbFuvhiiI6Dm3VQ 提取码:u8t0 复制这段内容 ...

  7. Java结构体系

  8. JS学习之路一

    1.准备 ①安装vscode 地址:https://vscode.en.softonic.com/ ②安装node.js node -v npm -v 地址:https://nodejs.org/zh ...

  9. pytest文档40-pytest.ini配置用例查找规则(面试题)

    前言 面试题:pytest如何执行不是test开头的用例?如执行 xxx_*.py这种文件的用例. pytest.ini 配置文件可以修改用例的匹配规则. pytest命令行参数 cmd打开输入pyt ...

  10. [转] Swoft HTTP 服务

    转载自Go语言中文网, https://studygolang.com/articles/20667 传统架构 PHP-FPM + Nginx 传统架构中所使用的Nginx + PHP-FPM的模型中 ...