Stm32 单片机介绍 | 学习笔记

简介: 快速学习 Stm32 单片机介绍
+关注继续查看

开发者学堂课程【嵌入式之 RFID 开发与应用2020版:Stm32 单片机介绍】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/665/detail/11143


Stm32 单片机介绍

Stm32 是单片机里面的 32 位的单片机,单片机的种类非常多。stm32 要学习:stm32 芯片介绍、固件库介绍、开发环境搭建、GPIO 操作原理、外部中断、串口debug、定时器、看门狗。

首先来看第一个 stm32 是意法半导体,在很多年前就已经推出的,ST 就是意法半导体的缩写,m 指的是的微控制器,32 就代表的处理器的位数,在很早之前单片机是从 4 位到 8 位,再到的 16 位、 32 位,这样一步一步过来的。不是一定要经历 8 位 16 位到 32 位,甚至是将来的 64 位,确实是随着集成工艺的不断的加强,升级和迭代,现在具备拥有 32 位的处理性能去做一些控制类的工作。在过去,单片机是以 8 位为主, 16 位的单片机是比较尴尬的,尤其是在 arm 公司推出 32 位的和之后更尴尬,因为 8 位可以做比较低端的工作,32 位包揽了中高端的工作,16 位既不能做一些很低端的低成本的工作,做一些很高端的又显得力不从心。所以现在主流的就是 8 位和 32 位。

意法半导体的芯片是基于 arm 公司的核 。arm 公司在移动终端这一块推出了三个系列,分别是 cortex-A,R,M。A 系列比较高级的处理器,手机里面运行的跑的内核就是 cortex-A 系列,cortex-M 系列主要是针对一些实时性比较高,安全性比较高的一些领域,比如卡片金融卡,本次基本上没怎么用过 r 系列。主要是 a 系列和 m 系列,cortex-M 系列指的是 MCU 微控制器。现在用到 32,主要是基于ARMv7-M 去实现,应用领域非常广泛。A 系列的的移动终端这一块,芯片的出货量每年是非常大的,但是依然不如的 m 系列的出货量大,因为 a 系列成本高,基本上一个终端能做的事情有很多,就像电话,能打电话能玩游戏,能拍照,能做很多工作,所以取代了很多其他的终端。但是m系列,单片机的的应用非常广泛,非常的钻。

一个家庭里面可能只有 10 个以内的 a 系列的,但是可能有超过20个 m 系列的处理器,比如说冰箱、空调、微波炉、电磁炉、电饭煲、热水器是 m 系列;电视机、投影仪、路由器、交换机可能是 a 系列的。所以学习单片机的意义就是主要是做一些控制类,运算类应用非常广泛,手环、飞行器、平衡车、POS 机、智能家电,3d 打印工业控制非常多的领域。cortex-A,R,M 这三个系列,完成了终端的控制,还有边缘计算的一些任务,也是 AI 人工智能云计算大数据背景下的信息和流量的入口,所以这是学习互联网这个方向,必须要掌握的知识点,是终端设备,也是很多做纯上层的,比如做互联网,做云计算,做后端的,所不能够参与进来的终端的开发,所以就必须要去掌握这一部分。

针对于的 32,意法半导体出了非常多的系列,不只是现在所看到的 Cortex-M3 系列,还有 m0,有 m4,还有 M7,还有更高端的所谓的超级版,超级版不是代表的位数很高,可能是代表功耗,效率知识性这些,安全性。实际评估的时候可能会用到 stm8,因为成本更低,一两块钱人民币就可以把这个事情做了。过去会专门买一个遥控器,玩具车、汽车的钥匙,还有摩托车的钥匙,遥控器过去是用专门的2262272 的编码芯片。现在这个价格跟单面机的价格差不多,但是有一个缺点就做完了之后,遥控器的编码固定完了之后,就只能是专门遥控器遥控专门接收器,但是有单片机就不一样,是一个可以逻辑编程的,可以实现逻辑功能,可以学习,所以买了遥控器,还可以遥控别的,只需要学习就可以了,成本还一样,这使得单片机的应用领域越来越广泛。

m4 已经很高,一些多媒体的处理,速度很快,音视频摄像头没有问题,跑 pcpip的协议站,跑操作系统可以,m3 里面也可以跑一些小的操作系统,所以根据实际的情况可选型。意法半导体提供的芯片非常的多,大概有两三百款处理器,所以的产品非常丰富。封装有很少的一直到很多引脚的封装,但 36 不是最好,还有比 36 更少的引脚的封装。flash 的容量也提供了很多,相关资料里产品选型手册在选型的时候作为参考,非常有意义。

image.png

不用看每一个芯片的手册,查找文本里搜,直接能看到基本情况,定时器有多少个、封装是怎样的、内存多大、闪存多大、AD 有多少位、Spi2c 串口等,是在做一个产品之前要去做的评估,评估就在这里选型。意法半导体的优势在于提供了丰富的产品线,可以完全根据产品的需要进行定制化,高度的定制也缩小了的产品开发的周期和成本,能够为做出非常完美的匹配目标的选型。比如 Stm32f103,有很多命名规则,后面详细介绍,和 mcs51一样是一个单片机,只是 51 是 8 位的,而stm32 是 32 位的,很多单片机,很多系列,不太出名的公司,也做很多单片机,因为的功能比较专一,然后性价比比较高。

image.png

相关文章
|
3月前
|
存储 关系型数据库 编译器
STM32学习笔记:读写内部Flash(介绍+附代码)
STM32学习笔记:读写内部Flash(介绍+附代码)
127 0
|
5月前
STM32学习笔记(7) 超声波HSR04模块详解
有信号返回时,通过IO输出一高电平、高电平持续时间就是超声波从发射到返回的时间
43 0
|
5月前
|
存储 移动开发
STM32学习笔记(6) 串口通信数据包解析
STM32学习笔记(6) 串口通信数据包解析
177 0
|
5月前
|
C语言 芯片
STM32学习笔记(5) 串口通讯-接收与发送
一个码元就是一个脉冲信号,一个脉冲信号有可能携带1bit数据,也有可能携带2bit数据、4bit数据!你发送一个脉冲信号,如果就可以携带4bit数据,肯定发送速率更快啊!
106 0
|
5月前
STM32学习笔记(4) 高级定时器-两路互补的PWM输出(带死区和刹车控制)
原理:当捕捉到信号的跳变沿时,将CNT的值所存到捕获寄存器CCR中,然后把两次的值相减,就可以得到脉宽或者频率。
188 0
|
5月前
STM32学习笔记(3) TIM基本定时器
代码中有这样一条,有人会问函数TIM_ClearFlag()和函数TIM_ClearITPendingBit()有什么区别?其实重点在Flag和IT,前者是外设的状态标志,而后者是外设的中断标志。状态标志就是一个外设它有自身的一些标志位(Flag),来表明它处于什么状态,下图就是定时器的状态标记。中断标志就是使能外设的中断后,每次发生一次中断,它会表明发生了什么样的中断,同样中断也有相应的标记。两者分别靠函数TIM_GetFlagStatus()和函数TIM_GetITStatus()来获取
96 0
|
5月前
STM32学习笔记(2) 使用外部中断控制按键
NVIC_IRQChannel ​​​​:对于RCT6来说,它的中断源如上图所示,在stm32f103.h中已经配置好寄存器,直接调用即可,下图中,RCT6主要用的是STM32F103X_HD的中断源
70 0
|
5月前
|
编译器 C语言
STM32学习笔记(1) GPIO初始化及点亮LED
在这一段代码中,假设同时有A.h和B.h同时包含了这个头文件,在编译器编译A时,会先判断LED.H有没有被定义(这里肯定是未被定义的),那么就定义(define __LED_H),然后再(endif),在编译器编译B时,同样会判断LED.H有没有被定义(这里经过A的编译,肯定是被定义的),那么就直接(endif)。这样,就可以防止重复编译。
63 0
|
10月前
|
物联网 C语言 芯片
Stm32 向 keil 中添加库及应用程序 | 学习笔记
快速学习 Stm32 向 keil 中添加库及应用程序
427 0
Stm32 向 keil 中添加库及应用程序 | 学习笔记
|
10月前
|
物联网 开发者 内存技术
stm32 下载运行 | 学习笔记
快速学习 stm32 下载运行
66 0
stm32 下载运行 | 学习笔记