## 一、STM32简介
ST:意法半导体公司,意大利SGS微电子公司和法国Thomson半导体公司合并而成。
半导体:导电性是介于导体和绝缘体之间,纯净状态下的硅(本征半导体)
1、温度调控:随着温度的升高,电子获取能量跃迁至导带,导电性性显著增强
2、掺杂改性:掺入5价磷元素N型半导体(以自由电子导电为主)
掺入3价硼元素P型半导体(以空穴导电为主)
硅的导电性可控使其成为电子工业的核心材料,涉及晶体管制造,集成电路等微电子器件
M:MicroContoler 微控制器
32:32位的寻址范围:0-2^32-1,代表的是32ARM处理器,处理器内部的数据总线宽度、寄存器位数、运算能力都是32位。
STM32:代表的不是某一个控制器,而是一系列的32位控制器。
拓展:名词解释
CPU(Central processing unit):中央处理单元,内部是由运算器、控制器、寄存器、总线组成。
MPU(micro processing unit):微处理单元,内部不含外围器件,可以认为MPU是去除了外围器件的MCU。
MCU(micro contoler unit);微控制单元,内部集成处理器、存储器、外设接口、硬件模块(USB、USART)控制器。
## 二、STM32产生背景
51单片机:STC89C52:STC代表宏晶科技,89代表的是属于8051内核的存储器系列,C代表CMOS工艺,51代表的是8051系列的基础型号。1X4K = 4K 2X4K=8K
入门系列,结构简介,外设接口少
ST单片机:STM32F103C8T6,STM代表意法半导体公司的微控制器,32代表32位寻址,F代表基础型,103代表增强型,C代表的是48脚位,8代表64KB,T代表封装类型LQFP,6代表工业温度(-40摄氏度到85摄氏度)
课堂问题:STM32F407ZET6分别代表什么?
STM32一旦产生,占领了大量的市场,STM32得到大量使用,主要原因如下
1、产品的硬件自身,是可以满足市场需要,可以应用多个领域
2、ST公司提供了STM32开发固件库(库函数),大大的缩短开发周期
## 三、其他系列单片机
英锐恩、芯旺微、物奇、小华、兆易、德州仪器、沁恒、韦斯佰瑞
## 四、STM32的开发模式
1、基于寄存器开发模式:sfr特殊功能寄存器,传统的开发模式,效率比较低
2、基于固件库开发模式:利用了芯片原厂提供的库函数,只需要调用相关函数,传递相关参数,并不需要知道具体的寄存器操作,开发效率高
1)标准库开发
2)HAL库开发 (ST公司主推开发方式)
## 五、STM32的开发环境
1、开发环境
软件环境:MDK527.EXE
硬件环境:Jlink下载器(STlink、Ulink...) STM32F407ZET6
2、原理图
GEC-M4原理图2016-07-29
3、开发手册
STM32F4xx中文参考手册
STM32F40xxx
4、官方案例
stm32f4xx_dsp_stdperiph_lib_um
5、C语言开发能力
## 六、STM32开发环境搭建
1、安装IDE:MDK527.EXE
2、安装固件库:Keil.STM32F4xx_DFP.1.0.8.pack
3、破解:解除32k生成的文件大小,keygen_new2032.exe
## 七、STM32模板工程创建
1、在桌面上创建一个文件夹project,用于存放工程
2、打开keil5软件-->project-->New uVision project,选择project文件夹并进入,命名文件text,并保存
3、器件选型:STM32F407ZE
4、运行时环境配置
4.1 打开CMSIS(ARM内核)选择CORE
4.2 选择Device:Startup
选择StdPeriphDivers :Framework RCC GPIO
5、打开Target1-->sources group1双击改名USER
6、右键点击USER,选择Add New Item to group "USER"
7、选择Cfiles-->main.c
#include <stdio.h>
int main(void)
{
printf("hello world\n");
return 0;
}
8、右键插入#include "stm32f4xx.h" // Device header
9、打开魔术棒按钮,选择C/C++
Define USE_STDPERIPH_DRIVER
include Paths:.\RTE .\RTE\Device\STM32F407ZE
## 八、STM32学习重点
1、STM32时钟体系
2、STM32标准外设接口
3、STM32中断体系
4、STM32的通讯接口与通讯总线
5、STM32实时操作
## 九、课堂案例--点亮板载的LED灯
实验步骤:
1、查看原理图 21脚位-LED0-PF9 22脚位-LED1-PF10
2、设置功能脚位 GPIO输出
3、分析电路获得控制逻辑 LED0输出电平
4、软件实现
4.1 对应使能GPIO时钟
4.2 设脚位功能
4.3 初始化脚位设置
4.4 根据控制逻辑完成外设控制
拓展:嵌入式工程师开发
嵌入式软件工程师:C语言,STM32,Linux,C++,QT
嵌入式硬件工程师:数字电路和模拟电路,具备一定电路分析能力
电烙铁、示波器、热风枪、万用表、逻辑分析仪、信号发生器、频谱仪
会用AD软件和嘉立创,会设计原理图和PCB
需要安装包等资源后台私信