下面会分享一整套stm32的入门到实战的一些知识和心得,持续更新~
一、stm32介绍
1.1stm32介绍
stm32:st指的是意法半导体,m指的是处理器(cpu,ARM公司设计的ARM内核Cortex-M),32指的是计算机处理器位数;
ST公司使用了ARM公司的Cortex-M内核,封装了外部电路,形成了STM32;
与ARM的关系:ARM是一家微处理器公司,主要推出了cortex-A(,cortex-R,cortex-M三种系列
cortex-A:主要针对多媒体应用;
cortex-R:主要针对实时性和性能有一定要求;
系列:主流的F1系列;
内核:ARM-Cortex-M3;
主频:72MHz;
RAM:20k;(运行内存,实际存储介质是SRAM)
ROM: 64k(FLASH);(程序存储器,实际存储介质是FLASH)
供电:2.0~3.6v(标准是3.3V);
封装:LQFP48;
stm32主要采用的就是M系列;
M系列分为cortex-M0,cortex-M3,cortex-M4等;
STM32 主要采用的就是cortex-M3;
stm32应用广泛,不同场景应用具体参考产品选型手册
1.2stm32命名方式
STM32,以STM32C8T6做出说明:
STM32:基于ARM核心的32位微控制器;
F:产品类型:F通用类型,L低电压(1.65~3.6v);
103:产品子类型:101基本型,102uSB型,103增强型,105互联型等;
C:引脚数目:T:36,C:48,R:64,v:100,z:144;(引脚数目越多,可连接外设越多,相关功能越多)
8:flash闪存容量 4:16k,6:32k,8:64k ,B:128k, C:256k;(flash越大资源越多)
引脚越多,flash容量越大,产品性能越好,集成芯片外设越多,功耗越多;
T:封装形式;
6:温度范围;
二、芯片内部结构
cortex内核和调试系统主要用ARM提供;
CPU执行程序代码;
下面部分有意法半导体公司提供;
存储器:flash,写好程序后,编译生成可执行代码后,下载到存储器中来保存,执行时候加载到RAM中;
I/O:通用输出输入引脚,通信外界设备;
外设:外部设备;
时钟和复位:
复位:按下复位使系统处理器变为最原始的状态,开始执行;
时钟系统:任何一个外设想要正常工作,必须要有时钟系统;
三、引脚介绍
四、stm32最小系统组成
单片机的最小系统是指为了让单片机正常工作,并且能够发挥其功能作用的最少组成单元,最小系统主要由:复位电路,BOOT 电路,晶振电路,SWD下载调试电路,供电电路组成;
使用的芯片是:STM32F103C8T6
3.1供电系统; VCC,GND接上供电
3.2复位电路;
组成:由一个按键,一个电容和一个上拉电阻组成;
目的是为了,对芯片进行复位,使电路恢复到最初的状态,其中NRST连接STM32的复位引脚,该复位引脚是低电平复位;
所以复位就是重启,NRST引脚为低电平时复位,正常工作状态下,复位引脚是高电平;
两种复位方式:(1)接入电源的一瞬间上电复位;
(2)按键复位;
原理:(1)上电复位:接入电源瞬间,电容C被视为短路,NRST为低电平接地,电容充电后被视为开路,NRST点电位回升为高电位;
(2)按键复位:按下按键后,NRST点变为低电平,stm32复位,按键松开后,NRST点回升为高电平;
3.3时钟电路(分为内部和外部);
外部电路组成:32.768kHZ的外部低速晶振和一个8KHZ的内部低速晶振组成.
3.4SWD下载的接口电路;
由一个4P的排针组成,用于接SL-LINK下载器,其中2,3引脚接SMT32的PA13,PA14引脚(SWD下载引脚)
3.5BOOT电路(启动方式);BOOT0,BOOT1这俩个引脚的高低电平,决定了单片机的启动方式;
后面的篇章会详细介绍;
五、参考文档介绍
数据手册,固件库,原理图;
4.1数据手册:芯片的参考手册:STM32芯片选型手册(根据项目实际需要,来进行芯片选型);
STM32数据手册(功能引脚的一些描述);
SMT32寄存器手册;
原理图:芯片原理图;
4.2固件库介绍;
4.2.1mcu开发方式
从开发语言分类:汇编语言,C语言;
STM32由汇编语言(启动阶段)+C语言
实际开发过程中:1.配置MCU中某个功能模块的寄存器进行操作;
2.使用ST官方提供的固件库驱动操作;
4.2.2固件库介绍
固件库:STM32标准外设库
主要由功能接口,数据结构,宏等组成,包括每一个外设驱动描述和实例;