一、ARM3.0开发板详细介绍
1.开发板整体介绍
(1)各种外设和主板原理图
(2)主板供电部分5V和3.3V兼容设计
注意跳线帽
2.STM32核心板介绍
3.核心板原理图
STM32和51的IO对应关系
下载电路
二、ARM3.0开发板ISP下载原理分析
1.ISP原理回顾
其实启动2次。
一次从系统区启动,一次从用户Flash启动。
第一步:先设置BOOT1和BOOT0从系统区【系统存储器】启动,执行系统中预设的程序
第二步:主机(电脑)通过串口发送要下载的hex文件给STM32
第三步:系统预设的程序接收到hex后将其烧录到用户区Flash中
第四步:设置BOOT1和BOOT0为从用户区启动,
2.STM32F103 核心板下载
三、PZ6806L开发板介绍(只能使用STM32)
1.开发板模型
2.开发板原理图
1.电源模块
2.BOOT1和BOOT0
3.串口通信模块:RS232
4.EEPROM
5.WIFI
6.无线通信
7.外接SRAM
内部内存不够用,所以使用外部
8.Flash
如果需要内容很大则使用Flash,如果一般小使用EEPROM
3.外设的三个层次
内部外设:定时器,串口,I2C
板载外设:EEPROM,蜂鸣器
外扩外设【比较贵】:板子上没有设计,要通过板子的外部扩展IO来外接实现
四、PZ6808L(STM32-F4):STM32+F4
1.外观
08L有2个串口通信接口
2. 开发板原理图
1.晶振
2.调试器
3.触摸按键模块
4.网络模块
3.双CPU:F1+F4
串口下载可以控制两个CPU
所有是STM32的ISP下载数据都是通过
对应芯片上的引脚
五、STM32的浮点运算单元
1.浮点运算基础
1.什么是浮点运算
2.浮点计算的2种方法
1.软浮点:没有专用浮点数的运算器
硬件可以不支持浮点运算。
编译环境支持浮点库,可以将用c语言写的浮点数运算转成整形运算,对于单片机来说根本不知道float,double这回事,所以单片机不需要有专门的浮点数运算单元就可以算浮点数
2.硬浮点:有专用浮点数的运算器
3.浮点运算的使用方法
1.库
2.编译选型
4.参考官方文档
FPU:Float Ponit Unit【flaot运算单元】
double只能使用库函数(软浮点)
如果使用到sinf(),cosf()函数,如果使用double,则还是只能使用软浮点(使用整形运算器)
1.F4内部FPU只能算float不能算double
2.F4内部FPU只能算float的简单加减乘除,不能算float的sin,cos等复杂运算
3.可以在所有软件设置不使用浮点运算器
理想效果:我们编程时不需要考虑CPU的软浮点或者硬浮点的特性,然后我自己就直接用C编程实现功能,然后设置好后直接编译,按照这样的规则帮我编译:我的浮点运算可以用FPU,如果不能用硬浮点数自动用软浮点来实现。
项目中用到大量double浮点时或者大量sin,cos时,F4的FPU是无效的,这时建议F1+DSP