当前位置: 首页 > article >正文

STM32简介

STM32简介

STM32是ST公司基于ARMCortex-M内核开发的32位微控制器   (Microcontroller)

MCU微控制器、MPU微处理器、CPU中央处理器

1.应用领域

STM32常应用于嵌入式领域。

如智能车:循迹小车 读取光电传感器或者摄像头的数据,然后驱动电机前进和转弯。

无人机:用STM32读取陀螺仪加速度计的姿态数据 根据控制算法去控制电机的速度,从而保证飞机稳定飞行。

机器人:用STM32驱动舵机,控制机器人的关节,然后让机器人运动。

无线通信:给STM32连接上一些2.4G无线模块或者蓝牙、WIFI模块这样STM32就可以具备无线通信的能力了。

物联网:借助这些无线模块进行通信如蓝牙、WIFI、ZigBee等等再通过STM32驱动继电器来控制220V电路的通断。

工业控制:PLC控制。

娱乐电子产品:流水灯等等。

2.功能特点

STM32功能强大、性能优异、片上资源丰富、功耗低,是一款经典的嵌入式微控制器

ARM公司

1.ARM公司即指ARM公司,也指ARM处理器内核。

2.ARM公司是全球领先的半导体知识产权(IP)提供商,全世界超过95%的智能手机和平板电脑都在采用ARM架构

3.ARM公司设计ARM内核,半导体厂商完善内核周边电路并产生芯片。

【ARM】Cortex产品系列

Cortex-A 主要满足应用和多任务处理 手机、平板

Cortex-R 主要用于实时通信 飞机对实时性要求高的会选择这类架构的芯片

Cortex-M 主要用于低功耗、均衡性能的产品 嵌入式设备的控制和物联网

R和M系列适合用于嵌入式领域,A系列适用于高端应用领域

现在的手机芯片:苹果【APPLE】A系列、联发科【台湾MTK】天玑 、高通【美国高通】骁龙

STM32F103C8T6

1.系列:主流系列STM32F1

2.内核:ARM Cortex-M3

3.主频:72MHz

4.RAM:20K(SRAM)(数据存储器)

5.ROM:64K(Flash)(程序存储器)

6.供电:2.0~3.6V(标准3.3V)

7.封装:LQFP48

片上资源/外设

STM32可以加入操作系统(FreeRTOS、UCOS)

NVIC:是内核里面用于管理中断的设备,比如配置中断优先级

SysTick:系统滴答定时器,是内核里面的一个定时器,主要用来给操作系统提供定时服务的,用了如FreeRTOS操作系统需要SysTick提供定时来进行任务切换的功能,可以用定时器完成delay函数的功能。

RCC:可以对系统的时钟进行配置,还有就是使能各模块的时钟 在STM32中其他的外设在上电的情况下,默认是没有时钟的,不给时钟的情况下,操作外设是无效的,外设也不会工作,这样的目的是降低功耗,所以在操作之前,必须先使能它的时钟。

GPIO:就是通用的IO口,我们可以用GPIO来点灯,读取按键等。

AFIO:是复用IO口,它可以完成复用功能端口的重定义,还有中断端口的配置。

EXTI:外部中断,配置好外部中断后,当引脚有电平变化时,就可以触发中断,让CPU来处理任务。

TIM:定时器,这也是整个STM32最常用、功能最多的外设,TIM分为高级定时器、通用定时器、基本定时器三种类型,其中高级定时器最复杂,常用的是通用定时器,这个定时器不仅可以完成定时中断的任务,还可以完成测频率、生成PWM波形(电机驱动、舵机驱动)、配置成专用的编码器接口等功能。

ADC:模数转换器,这个STM32内置了12位的AD转换器,可以直接读取IO口的模拟电压值,无需外部连接AD芯片,使用非常方便。

DMA:是直接内存访问,可以帮助CPU完成搬运大量数据这样的繁杂任务。

USART:是同步或者异步串口,我们平常用的UART是异步串口的意思,这里的USART是即支持异步串口,也支持同步串口(实际用异步串口比较多)。

I2C和SPI:是非常常用的两种通讯协议,STM32也内置了它们的控制器,可以用硬件来输出时序波形,使用起来更高效,当然用通用IO口来模拟时许波形也是没有问题的。

CAN和USB:也是通讯协议,CAN通信一般用于汽车领域,USB数据传输(生活中到处都是)利用STM32的USB外设,可以做一个模拟鼠标、模拟U盘等设备。

RTC:实时时钟,在STM32内部完成年月日、时分秒的计时功能,并且可以接外部备用电池,即使掉电也能正常运行。

CRC:是一种数据的校验方式,用于判断数据的正确性,有了这个外设的支持,进行CRC校验就会更加方便一些。

PWR:电源控制,可以让芯片进入睡眠模式等状态,来达到省电的目的。

BKP:备份寄存器,这是一段存储器,当系统掉电时,仍可由备用电池保持数据,这个根据需要,可以完成一些特殊功能。

IWDG和WWDG:是独立的开门狗和窗口看门狗,当单片机因为电磁干扰死机或者程序设计不合理出现死循环时,看门狗可以及时复位芯片,保证系统的稳定。

DAC:是数模转换器,它可以在IO口直接输出模拟电压,是ADC模数转换的逆过程。

SDIO:是SD卡接口,可以用来读取SD卡。

FSMC:是可变静态存储控制器,可以用于扩展内存。或者配置成其他总线协议,用于某些硬件的操作。

USB OTG:就是USB主机接口,用OTG功能,可以让STM32作为USB主机去读取其他USB设备。

命名规则

STM32    F    103    C    8     T      6

产品系列

STM32:基于ARM核心的32位微控制器

产品类型

F:通用类型

产品子系列

101:基本型

102:USB基本型,USB 2.0全速设备

103:增强型

105或107:互联型

引脚数目

T:36脚

C:48脚

R:64脚

V:100脚

Z:144脚

闪存存储器容量

4:16K字节的闪存存储器

6:32K字节的闪存存储器

8:64K字节的闪存存储器

B:128K字节的闪存存储器

C:256K字节的闪存存储器

D:384K字节的闪存存储器

E:512K字节的闪存存储器

封装

H:BGA

T:LQFP

U:VFQFFPN

Y:WLCSP64

温度范围

6:工业级温度范围,-40℃~85℃

7:工业级温度范围,-40℃~105℃

系统结构

引脚定义

S代表电源 I代表输入 O代表输出 IO代表输入输出 FT代表需要接5V电源,没有FT的表示接入3.3V电源

主功能代表上电后默认的功能 

最小系统电路


http://www.kler.cn/a/523948.html

相关文章:

  • shiro学习五:使用springboot整合shiro。在前面学习四的基础上,增加shiro的缓存机制,源码讲解:认证缓存、授权缓存。
  • VPR概述、资源
  • 机器人基础深度学习基础
  • 如何获取小程序的code在uniapp开发中
  • 抖音上线打车服务?抖音要大规模杀入网约车了吗?
  • Android 启动流程
  • MySQL(单表访问)
  • 代码随想录算法【Day34】
  • [ABC137E] Coins Respawn 题解
  • YOLOv11-ultralytics-8.3.67部分代码阅读笔记-block.py
  • LTV预估 | 大R挖掘器ExpLTV
  • LeetCode-3433. 统计用户被提及情况
  • OpenBMC:简介
  • Controller 层优化四步曲
  • 探索现代前端微前端架构的最佳实践
  • MySQL知识点总结(十)
  • 2748. 美丽下标对的数目(Beautiful Pairs)
  • 【Python】 使用pygame库实现新年烟花
  • 支持selenium的chrome driver更新到132.0.6834.110
  • 彻底理解Flink的多种部署方式
  • 人工智能丨基于机器学习的视觉 CV 处理技术
  • 开发第一个安卓页面
  • 长尾关键词优化对提升SEO和网站访客流量的实用影响与策略
  • C语言深入解析 printf的底层源码实现
  • 【前端】Hexo 部署指南_hexo-deploy-git·GitHub Actions·Git Hooks
  • 接口 V2 完善:分布式环境下的 WebSocket 实现与 Token 校验