从零开始学STM32-M3
文章目录
第一集
开发者如何验收
如何从光盘找资料
- 联想法
- 索引法
- 直接法
如何查看原理图
使用时有哪些注意事项
- 供电注意事项
- DC005接口,供电范围是6~24V
- VOUT(2*3排针)可以做5V输出,也可以做输入
- 当开发板外接负载较重(电流大)时,要提供足够电源
- 开发板不支持JLINK等仿真供电
- 正常供电后,蓝色电源指示灯,必须亮,才可以使用开发板
- 例程测试注意事项
- IO使用注意事项
- IO口一琮不要接超过5V电压
- 不要用IO口直接驱动感性负载(电机、电磁阀、继电器等)
- 外接其他外设时,要先做好IO选型,选择合适的IO口
- 注意防静电
使用过程中遇到问题怎么办
第二集
网络学习资源介绍
拿到开发板怎么入手
学习开发板要参考哪些资料
要掌握哪些基本技能
- 编程语言:C语言
- 开发环境:Keil
- 调试工具:JTAG
- 库函数和寄存器
总结
第四集
为什么选择STM32
新的基于ARM内核的32位MCU系列
优点:
- 高性能、低成本、低功耗
- 标准的ARM架构
Cortex-M3系列属于ARMv7架构
ARMv7架构定义了三大分工明确的系列:
“A”系列:面向尖端的基于虚拟内在的操作系统和用户应用
“R”系列:针对实时系统
“M”系列:对微控制器
STM32概述
STM32是Cortex-M产品的家族
命名规则 :是根据闪存容量和引脚数目来命名的,也跟外设有关
示例:STM32 F 103 C 8 T 6
STM32:基于ARM的32位微控制器
F:通用类型
103:增强型
C:48脚
8:64K
T:LOFP
6:
总结
第五集
芯片有哪些资源
芯片内部的结构
芯片引脚和功能怎么对应
数据手册
FT可以容忍5V
STM32最小系统设计
-
供电
-
复位
-
时钟:外部晶振(2个)
-
Boot启动模式选择
-
下载电路(串口/JTAG/SWD)
-
后备电池
第六集
MDK软件安装
USB串口驱动安装
JLINK驱动安装
第七集
MKD软件安装
RealVlew MDK是Keil公司开发的,为基于Cortex、ARM7、ARM9等处理器设备的一个完整的开发环境
USB串口驱动安装
USB串口作用:
- 可以当串口使用
- 如果USB串口连接到STM32的串口1(STM32 ISP超载只能是串口1)的话,那么可以用来串口下载程序
JLINK驱动安装
第八集
硬件连接
一键下载方法
校验编程后执行√,编程到FLASH时写选项字节×,选择DTR的低电平复位,RTS高电平进BootLoader
STM32启动模式
启动模式选择引脚 | 启动模式 | 说明 | |
---|---|---|---|
BOOT1 | BOOT0 | ||
X | 0 | 主闪存存储器 | 主闪存存储器被选为启动区域 |
0 | 1 | 系统存储器 | 系统存储器被选为启动区域 |
1 | 1 | 内置SRAM | 内置SRAM被选为启动区域 |
第一种配置是执行,第二种配置是下载
ISP下载步骤:
- BOOT0接3.3V,BOOT1接GND
- 按复位按键,实现下载
程序执行的一般步骤:
- mcuisp flymcu勾选“编程后执行”,发送命令直接从FLASH启动
- BOOT0接GND,BOOT1接任意电平,按一次复位
第九集
JLINK与开发板硬件连接
JLINK下载配置过程
下载常见问题
第十集
新建STM32工程模板
库函数和寄存器的区别:
本质上是一样的。我们可以在库函数里面,直接操作寄存器,因为官方库相关头文件有寄存器定义。但是不能在寄存器模板调用库函数,因为没有引入库函数相关定义。
新建工程模板:
- 在任意路径下新建文件夹Tempate
- 在Tempate文件夹下新建文件夹USER
- 打开Keil,新建project到USER文件夹下
- 选择芯片STM32F Series->STM32F103ZE
- 弹出的弹窗点击Cancel
- 在Tempate文件夹下新建CORE、OBJ、STM32F10x_FWLIB文件夹
- 把inc、src文件夹复制到STM32F10x_FWLIB文件夹下
- 把core_crn3. c、core_con3.h、startup_stm32f10x_hd.s复制到CORE文件夹下
- 把stm32f10x.h、system_stm32f10x.c、system_stm32f10x.h复制到USER文件夹下
- 把main.c、stm32f10x_conf.h、stem32f10x_it.c、stem32f10x_it.h复制到USER文件夹下
- 打开Keil,右键左边的文件夹名,点击Manager Project Items
- 改名Project Targets,新建Groups,名字与创建的文件夹相同
- 在Files下面添加上面复制的所有文件,USER要注意添加startlup_stm32f10x_hd.s文件
- 点击魔术棒,Ooutput选项下选择Select Folder for Objects,选择OBJ文件夹,且下面三个√都要打上(特别是Clreat HEX File一定要勾上)
- 点击魔术棒,C/C++选项下Define选项下填写STM32F10X_HD,USER_STDPERIPH_DRIVER,同一选项下选择Include Path,把CORE,USER,inc文件夹包括进来
- 把main函数下的所有东西删掉,把另外的 main函数内容复制进来,如果还有错误就把OBJ文件夹下的所有文件删掉重新编译
- 如果有中文乱码,在Edit处Configuration下把编码改成GB2312
- 添加SYSTEM文件夹,照上面的步骤添加头文件等
STM32固件库包简介
第十一集
新建寄存器模板
新建寄存器模板:
- 在任意路径下新建文件夹Tempate
- 在Tempate文件夹下新建文件夹USER、OBJ
- 打开Keil,新建project到USER文件夹下
- 选择芯片STM32F Series->STM32F103ZE
- 弹出的弹窗点击Cancel
- 复制startup_stm32f10x_hd.s文件到USER文件夹下
- 打开Keil,右键左边的文件夹名,点击Manager Project Items
- 新建两个组,一个命名为USER,另一个命名为SYSTEM
- 在SourceGroup 1添加startup_stm32f10x_hd.s文件
- 新建文件,命名为test.c,在USER组下添加此文件
- 把SYSTEM文件夹复制到Tempate文件夹下,并把SYSTEM组中添加所有文件
- 点击魔术棒,Ooutput选项下选择Select Folder for Objects,选择OBJ文件夹,且下面三个√都要打上(特别是Clreat HEX File一定要勾上)
- 点击魔术棒,C/C++选项下Define选项下填写STM32F10X_HD,同一选项下选择Include Path,把SYSTEM下的delay、sys、usart文件夹包括进来
- 把main函数下的所有东西删掉