UC头条:[STM32单片机学习]第三课: 开发板介绍和编程环境搭建
[朱老师课程总结 侵删]
第一部分、章节目录
第三部分、随堂记录
3.3.1.STM32开发板详细介绍
3.3.1.1、开发板整体介绍
(1)各种外设和主板原理图
之前在STC51中使用的外设,都可以在这里使用!
STM32F103C8原理图
(2)主板供电部分5V和3.3V兼容设计
点击加载图片
点击加载图片
3.3.1.2、STM32核心板介绍
(1)核心板外观介绍
点击加载图片
(2)核心板在底板安装
如上图
3.3.1.3、核心板原理图
(1)晶振
(2)电源
(3)CAN接口
(4)引脚定义和底板的映射关系
以后可以先去看原理图去分析需要哪些引脚,然后去IO引脚图通过红字找对应的引脚P
点击加载图片
点击加载图片
3.3.2.STM32开发板ISP下载原理分析
3.3.2.1、USB下载分析
(1) 下载流程手册
(2) STM32程序下载实操
3.3.2.2、ISP下载原理分析
(1)ISP原理回顾。
第1步:先设置BOOT1和BOOT0从系统区启动,执行系统中预设的程序
第2步:主机通过串口发送要下载的hex文件给STM32
第3步:系统预设的程序接收到hex后将其烧录到用户区flash中
第4步:设置BOOT1和BOOT0为从用户区启动,然后复位重启执行刚才下载的hex即可
(2)BOOT引脚设置
BOOT1始终为0
BOOT0在ISP时要为1,正常运行时要为0。
BOOT0和BOOT1是通过挑帽控制的
3.3.2.3、复位电路设计
(1)上电复位
(2)RSTK复位按键复位
(3)ISP下载后受控复位,被RSTK1控制
点击加载图片
3.3.3.STM32F4的浮点运算单元
3.3.3.1、浮点运算基础—组成原理
(1)什么是浮点运算:浮点数的运算,并不是所有的CPU都支持浮点运算
(2)浮点计算的2种实现方法:
软浮点
通过浮点库去实现浮点运算的,效率低,成本低!
编译环境支持浮点库,可以将用C语言写的浮点数运算转成整形运算,对于单片机来说根本不知道float、double这回事,所以单片机不需要有专门的浮点运算单元就可以算浮点数了。
硬浮点
通过浮点运算单元(FPU)来完成的,效率高,成本高!
(3)浮点运算单元的使用
F4支持FPU,但是不是一定要用,需要配置
使用的方法:下载FPU库和编译选项,在Keil5中Target中打开/关闭
点击加载图片
3.3.3.2、F4的浮点运算学习
(1)FPU:单精度浮点单元
1、F4内部FPU只能算float不能算double
2、F4内部FPU只能算float的简单加减乘除,不能算float的sin、cos等复杂运算
理想效果:我们编程时不需要考虑CPU的软浮点或者硬浮点特性,直接用C编程实现功能,然后设置好后直接编译。
按照这样的规则编译:浮点运算可以用硬浮点时用FPU,如果不能用硬浮点就自动用软浮点来实现。
项目中用到大量double浮点时或者大量sin cos时,F4的FPU是无效的,这时建议用F1+DSP(是库函数)介绍链接
3.3.4.MDK5的开发环境搭建和介绍
3.3.4.1、MDK5的引入
(1)MDK5和keil C51的关系
都是keil公司(现被ARM收购)的两款软件,其安装方法和破解方法一样!
c51不需要下载器件支持包,MDK5需要根据开发板型号安装对应的器件支持包
(2)Keil官网中MDK5和keil C51是分离的
需要分别单独安装破解
(3)MDK5和Keil C51可以在同一windows中共存
可以共用一个图标
(4)MDK5和MDK4的不同
MDK4下载之后,器件支持包也安装成功,但是有很多用不到,而且有的型号还没有(比如F4系列)
MDK5下载之后,用户可以选择性的在线/离线安装器件支持包,一般选择离线安装,在线下载的很慢
3.3.4.2、MDK5的使用体验
(1)打开工程并且编译、下载
(2)菜单栏浏览—以及如何新建