大家好,今天我跟大家分享一下学习STM32的一些收获,希望对初学STM32的同学有所启示。当然,本人也是一名初学者,如果有谈论不妥之处,还望您能够批评指正,不吝赐教,本人将非常感激。如果有什么问题,欢迎您到http://www.openedv.com/进行提问与讨论。最后祝您学业有成,工作顺利。

一、什么是STM32?

意法半导体(ST)集团于1988年6月成立,是由意大利的SGS微电子公司和法国Thomson半导体公司合并而成。1998年5月,SGS-THOMSON Microelectronics将公司名称改为意法半导体有限公司,是世界最大的半导体公司之一。 STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex®-M0,M0+,M3, M4和M7内核(ST's product portfolio contains a comprehensive range of microcontrollers, from robust, low-cost 8-bit MCUs up to 32-bit ARM-based Cortex®-M0 and M0+, Cortex®-M3, Cortex®-M4 Flash microcontrollers with a great choice of peripherals. ST has also extended this range to include an ultra-low-power MCU platform)。
它具有以下三个特点:

•新的基于ARM内核的32位MCU系列

–标准的ARM架构     –内核为ARM公司为要求高性能、低成本、低功耗的嵌入式应用专门设计的Cortex-M内核

•超前的体系结构

–高性能     –低电压      –低功耗     –创新的内核以及外设

•简单易用/自由/低风险

Cortex-M3系列属于ARMv7架构

ARMv7架构定义了三大分工明确的系列:

  • “A”系列:面向尖端的基于虚拟内存的操作系统和用户应用
  • “R”系列:针对实时系统;
  • “M”系列:对微控制器。

STM32F1属于Cortex-M系列中的Cortex-M3内核,采用ARMv7-M架构。STM32F4属于Cortex-M4系列采用ARMv7-ME架构。Cortex-A5/A8采用ARMv7-A架构。传统的ARM7系列采用的是ARMv4T架构。(想了解更多可参考韦东山老师的《Linux应用开发完全手册》第一章)

那么STM32与ARM有什么区别呢?

Cortex-M家族

STM32的命名规则

STM32的应用场景

STM32的应用场景还有很多,这里只是简单地列出一些。

总的来说STM32具有如下优势:

1)极高的性能:主流的Cortex内核。
 2)丰富合理的外设,合理的功耗,合理的价格。
 3)强大的软件支持:丰富的软件包。
 4)全面丰富的技术文档。
 5)芯片型号种类多,覆盖面广。
 6)强大的用户基础:最先成功试水CM3芯片的公司,积累了大批的用户群体,为其领先做铺垫。


二、按内核架构分为不同产品

主流产品(STM32F0、STM32F1、STM32F3)
    超低功耗产品(STM32L0、STM32L1、STM32L4、STM32L4+)
    高性能产品(STM32F2、STM32F4、STM32F7、STM32H7)


三、STM32F103板载资源(以正点原子MiniSTM32F103RCT6为例)

1.ALIENTEK MiniSTM32 V3.0开发板板载资源如下:

◆CPU:STM32F103RCT6,LQFP64,FLASH:256K,SRAM:48K;
 ◆1个标准的JTAG/SWD调试下载口
 ◆1个电源指示灯(蓝色)
 ◆2个状态指示灯(DS0:红色,DS1:绿色)
 ◆1个红外接收头,配备一款小巧的红外遥控器
 ◆1个IIC接口的EEPROM芯片,24C02,容量256字节
 ◆1个SPI FLASH芯片,W25Q64,容量为8M字节(即64M bit)
 ◆1个DS18B20/DS1820温度传感器预留接口
 ◆1个标准的2.4/2.8/3.5/4.3/7寸LCD接口,支持触摸屏
 ◆1个OLED模块接口(与LCD接口部分共用)
 ◆1个USB串口接口,可用于程序下载和代码调试
 ◆1个USB SLAVE接口,用于USB通信
 ◆1个SD卡接口
 ◆1个PS/2接口,可外接鼠标、键盘
 ◆1组5V电源供应/接入口
 ◆1组3.3V电源供应/接入口
 ◆1个启动模式选择配置接口
 ◆1个2.4G无线通信接口
 ◆1个RTC后备电池座,并带电池
 ◆1个复位按钮,可用于复位MCU和LCD
 ◆3个功能按钮,其中WK_UP兼具唤醒功能
 ◆1个电源开关,控制整个板的电源
 ◆3.3V与5V电源TVS保护,有效防止烧坏芯片。
 ◆独创的一键下载功能
 ◆除晶振占用的IO口外,其余所有IO口全部引出

2.芯片资源

芯片内部资源描述(STM32F103ZET6&STM32F103RCT6)

内核:

-32位 高性能ARMCortex-M3处理器

-时钟:高达72M,实际还可以超屏一点点

-单周期乘法和硬件除法

IO口:

-STM32F103ZET6:  144引脚  112个IO

-STM32F103RCT6: 64引脚  51个IO

-大部分IO口都耐5V(模拟通道除外)          -支持调试:SWD和JTAG,SWD只要2根数据线

存储器容量:

-STM32F103ZET6:  512K  FLASH,64K  SRAM

-STM32F103RCT6: 256K  FLASH,48K  SRAM

定时器:多达11个定时器

-4个通用定时器    -2个基本定时器    -2个高级定时器

-1个系统定时器    -2个看门狗定时器

通信接口:多达13个通信接口

-2个I2C接口    -5个串口    -3个SPI接口    -1个CAN2.0    -1个USBFS    -1个SDIO

时钟,复位和电源管理:

①2.0~3.6V电源和IO电压

②上电复位,掉电复位和可编程的电压监控

③强大的时钟系统

-4~16M的外部高速晶振 -内部8MHz的高速RC振荡器

-内部40KHz低速RC振荡器,看门狗时钟

-内部锁相环(PLL,倍频),一般系统时钟都是外部或者内部高速时钟经过PLL倍频后得到

-外部低速32.768K的晶振,主要做RTC时钟源

3、STM32F103xC、STM32F103xD和STM32F103xE器件功能和配置

4.关于一些常见外设挂载在哪些总线之下?(APB1与APB2)

APB2下的外设:

APB1下的外设:

  • DCA
  • 电源控制接口
  • 后备寄存器
  • CAN
  • USB

  • 这里大家只要记住TIM1 和 TIM8、GPIO、ADC、SPI等是高速外设,所以挂载在APB2总线之下(APB2、APB1,2>1,所以APB2为高速时钟总线),TIM2~TIM7 挂载在APB1总线之下,就够了。
  • 其他常见的记不住的话,用到了去查《stm32中文参考手册》第28页29页就可以了。

四、STM32学习方法

1、推荐学习网站:

①www.openedv.com 开源电子网,正点原子官方技术支持论坛。正点原子资料发布和售后官方平台。

②www.stmcu.org ST中国官方技术网站,ST官方文档发布网站。

2、需要掌握哪些技能

C语言是嵌入式开发的基础中的基础。

点击:了解更多关于STM32的信息

本次就简单分享这些了,下次为大家详细展示MiniSTM32F103RCT6的各项资源。谢谢您的浏览。

STM32(一)STM32简介相关推荐

  1. 【STM32】SPI简介

    00. 目录 文章目录 00. 目录 01. SPI简介 02. SPI特性 03. SPI功能说明 04. SPI中断 05. 相关寄存器 5.1 SPI 控制寄存器 1 (SPI_CR1) (不用 ...

  2. 初识 STM32和STM32F407简介

    初识 STM32 2007 年 6 月,ST 在北京发布了全球第一款基于 ARM Cortex M3 内核的 32 位通用微控制 器芯片:STM32F103,以优异的性能,丰富的资源,超高的性价比,迅 ...

  3. STM32 CAN控制器简介-寄存器简介

    1.CAN主控制寄存器(CAN_MCR) 该寄存器的我们仅介绍下INRQ位,该位用来控制初始化请求. 设置INRQ=0,可使CAN从初始化模式进入正常工作模式. 设置INRQ=1,可使CAN从正常工作 ...

  4. 【STM32】FreeRTOS简介

    00. 目录 文章目录 00. 目录 01. 什么是FreeRTOS 02. 为什么选择FreeRTOS 03. FreeRTOS特点 04. FreeRTOS商业许可 05. 预留 06. 附录 0 ...

  5. 【STM32】OLED简介

    00. 目录 文章目录 00. 目录 01. OLED概述 02. OLED特性参数 03. OLED模块描述 04. OLED模块原理图 05. OLED模块引脚说明 06. OLED模块使用 07 ...

  6. 【STM32】STM32系列教程汇总(暂时暂停更新...)

    00. 目录 文章目录 00. 目录 01. STM32平台简介 02. STM32开发环境 03. STM32初级教程 04. STM32中级教程 05. STM32高级教程 06. FreeRTO ...

  7. STM32 (零)--------STM32介绍

    STM32介绍 什么是 STM32 CMSIS构架 时钟 STM32诞生的背景 STM32 能做什么 STM32选型 容量大小 STM32分类 STM32 命名方法 选择合适的MCU 如何分配原理图 ...

  8. 【STM32】STM32标准库与HAL库对照学习教程特别篇--系统时钟RCC详讲

    [STM32]STM32标准库与HAL库对照学习教程特别篇--系统时钟RCC详讲 一.前言 二.时钟是什么 三.时钟树 1.时钟树图 2.时钟树讲解 左边部分 中间部分 右边部分 特殊部分 四.初始化 ...

  9. 【STM32】STM32标准库与HAL库对照学习教程一--使用寄存器操控LED闪烁详讲

    [STM32]STM32标准库与HAL库对照学习教程一--使用寄存器操控LED闪烁详讲 前言 本教程文章是我在学习STM32标准库和HAL库后写的,想通过标准库与HAL库的对照学习加强我对STM32的 ...

  10. 【STM32】STM32和PC串口的NRF24L01通信测试

    使用NRF24L01实现STM32之间.PC之间以及STM32和PC之间的通信 前言 硬件实现 软件实现 测试结果 结论 1. 前言 小弟最近看了一些中近距离(200m以内)的无线通信方法,像Zigb ...

最新文章

  1. java.lang.NoSuchMethodError: org.springframework.core.io.ResourceEditor错误
  2. 如何读取Excel表格中不同sheet表的同一位置单元格数据,并绘制条形图呢?
  3. Acwing第 21 场周赛【完结】
  4. VTK:绘图之LinePlot
  5. TCP拥塞状态机的实现(中)
  6. 可网管交换机与非网管交换机的区别
  7. JS高级——深入剖析函数中的this指向问题
  8. 高校寒假时间公布!看完心态稳住…
  9. SQL server中的SQL语句拼接
  10. C语言科学计数法中的一个小问题
  11. SQL的多表查询(笛卡尔积原理)
  12. 用QT做无界面的后台程序
  13. 通过光纤收发器指示灯判断网络状态
  14. tkinter的图片格式
  15. win10便签常驻桌面_做备忘录,用win10自带的便笺工具就可以了,免费又方便
  16. 昆石VOS3000/VOS2009 2.1.6.00 操作指南相关
  17. 开源pdf读取_Wallabag可满足您的开源读取后应用程序需求
  18. 计算机图形学之纹理的作用
  19. 2021牛客多校1——J:Journey of Railway Stations(线段树)
  20. oracle sql developer的简单使用

热门文章

  1. [BJOI2006]狼抓兔子
  2. 再见!永远的21号!马刺退役邓肯21号球衣
  3. 光线传感器(Light Sensor)-BOE Shield-Bot
  4. 服务器宕机原因有哪些?服务器宕机解决方案
  5. 基于Keras版本YOLOV7模型的锂电池自燃预警烟雾检测实践
  6. rabbitmq-exclusive queue
  7. 硅谷送货机器人:脚下的路不好走
  8. 助力所有ERP初学者(转)
  9. python长度单位转化_长度单位的换算教学反思
  10. K8S云原生环境渗透学习