当前位置: 首页 > news >正文

单片机第三季-第三课:STM32开发板原理图、配置、浮点运算单元

目录

1,开发板原理图

2,浮点运算单元(FPU) 


1,开发板原理图

课程视频比较早,介绍了三款开发板。观看视频时用的开发板说和51单片机共板的STM32核心板,将51单片机从底座拆下来后,安装上STM32核心板。

ISP原理回顾:
第1步:先设置BOOT1和BOOT0从系统区启动,执行系统中预设的程序;
第2步:主机通过串口发送要下载的hex文件给STM32;
第3步:系统预设的程序接收到hex后将其烧录到用户区flash中;
第4步:设置BOOT1和BOOT0为从用户区启动,然后复位重启执行刚才下载的hex即可。

如何设置BOOT1和BOOT0使STM32从系统区或者用户区启动,见下图:

核心板的自动下载电路:

核心板通过USB连接电脑后,下载程序的上位机可以通过RTS和DTR分别控制BOOT0和NRST引脚;

自动下载即上位机下载软件通过控制RTS和DTR引脚,间接控制BOOT0和NRST,完成下载程序和复位启动。

复位电路:

复位电路可以实现上电复位和RSTK复位按键复位。 

2,浮点运算单元(FPU) 

浮点运算即存在float或double类型数据的加、减、乘、除运算;

浮点计算的2种实现方法:软浮点、硬浮点;

编译环境支持浮点库,可以将用C语言写的浮点数运算转成整形运算,对于单片机来说根本不知道float、double这回事,所以单片机不需要有专门的浮点运算单元就可以算浮点数了,但通过编译将浮点运算转化为整形运算时会增加代码量。

STM32F4系列支持硬浮点计算,因为其内部有响应的硬件电路,可以直接输入浮点数进行计算,但其有两个例外:

1、F4内部FPU只能算float不能算double;
2、F4内部FPU只能算float的简单加减乘除,不能算float的sin、cos等复杂运算;

我们编程时不需要考虑CPU的软浮点或者硬浮点特性,直接用C编程实现功能,然后设置好后直接编译,按照这样的规则帮我编译:我的浮点运算可以用硬浮点时用FPU(在编译环境中,如KEIL中有相应的选项可以设置,Single Precision即指只支持float类型运算,有的显示为FPU),如果不能用硬浮点就自动用软浮点来实现。

需要注意的是,只有选择具备FPU的MCU时(例如STM32F4系列),才会出现Floating Point Hardware选项。 

项目中用到大量double浮点时或者大量sin cos时,F4的FPU是无效的,这时建议用F1+DSP。

参考《Cortex M3与M4权威指南.pdf》。

http://www.lryc.cn/news/171450.html

相关文章:

  • 观察者模式 发布-订阅模式(设计模式与开发实践 P8)
  • 【日常业务开发】Java实现异步编程
  • 学习笔记|模数转换器|ADC原理|STC32G单片机视频开发教程(冲哥)|第十七集:ADC采集
  • OpenCV实现“蓝线挑战“特效
  • 容器管理工具 Docker生态架构及部署
  • js判断数据类型的方法
  • 达梦数据库随系统开机自动启动脚本
  • Python开发利器之VS Code
  • 【Axure视频教程】输入框控制滑动评分条
  • 【学习笔记】[AGC064C] Erase and Divide Game
  • 算法通关村-----数组中元素出现次数问题
  • Qt-键盘消息的传递-键盘消息的获取-C++
  • 数据结构与算法(五)--链表概念以及向链表添加元素
  • 计算机视觉与深度学习-图像分割-视觉识别任务02-目标检测-【北邮鲁鹏】
  • Flink——Flink检查点(checkpoint)、保存点(savepoint)的区别与联系
  • [篇五章五]-如何禁用 Windows Defender-我的创作纪念日
  • 什么情况下使用微服务?
  • 【Linux】Ubuntu美化主题【教程】
  • spring-boot2.x,使用EnableWebMvc注解导致的自定义HttpMessageConverters不可用
  • 2023-09-20 Android CheckBox 让文字显示在选择框的左边
  • 目标检测YOLO实战应用案例100讲-基于改进YOLOv5的口罩人脸检测
  • CentOS7 yum安装报错:“Could not resolve host: mirrorlist.centos.org; Unknown error“
  • 关于token续签
  • 淘宝分布式文件存储系统( 二 ) -TFS
  • Java中synchronized:特性、使用、锁机制与策略简析
  • 记一次clickhouse手动更改分片数异常
  • 深度学习论文: ISTDU-Net:Infrared Small-Target Detection U-Net及其PyTorch实现
  • 图像识别-YOLO V8安装部署-window-CPU-Pycharm
  • js禁用F1至F12、禁止缩放、取消选中并且取消右键操作、打印、拖拽、鼠标点击弹出自定义信息、禁用开发者工具js
  • Zabbix5.0_介绍_组成架构_以及和prometheus的对比_大数据环境下的监控_网络_软件_设备监控_Zabbix工作笔记