STM32F4时钟系统的知识在《STM32F4中文参考手册》第六章复位和时钟控制章节有非常详细的讲解,网上关于时钟系统的讲解也有很多,讲不出啥特色,时钟模块是芯片非常重要的组成部分,我们必然要提到时钟系统的知识。这些知识也不是什么原创,纯粹根据官方提供的中文参考手册和自己的应用心得来总结的,如有不合理之处望大家谅解。STM32F4时钟树概述众所周知,时钟系统是CPU的脉搏,就像人的心跳一样。所以时
STM32 UART串口printf函数应用及浮点打印代码空间节省 (HAL)在应用STM32的UART接口打印输出串口字符信息时,可以通过printf函数的重载和应用实现。但要打印输出浮点数据时,采用常规方式,对于Flash空间小的MCU,常常出现代码空间不够的报错,这里设计了替代的函数实现浮点转字符,从而解决空间不够报错的问题。STM32 printf()函数重载要使用printf函数通过串口
目录说明一、霍尔电机1.1、电机的种类1.2、霍尔传感器1.3、SimpleFOC的霍尔电机控制原理二、电机驱动板1032.1、读取霍尔角度2.2、驱动霍尔电机M12.3、驱动霍尔电机M22.4、驱动双霍尔电机三、电机驱动板4053.1、读取霍尔角度3.2、驱动霍尔电机M03.3、驱动霍尔电机M13.4、驱动双霍尔电机四、总结 SimpleFOC、ODrive和VESC 教程链接汇总:请点
stm32f405是一款基于ARM Cortex-M4核心的高性能微控制器,广泛应用于各类电子产品和嵌入式系统中。它集成了丰富的外设和功能模块,适合用于复杂的控制、处理和数据通信任务。本文将深入探讨其架构和资源,包括其技术原理、架构解析、源码分析、性能优化与扩展讨论等方面。
## 1. 背景描述
在深入研究STM32F405的架构和资源之前,我们需要了解它的基本特性。STM32F405处理器通
在做一款消费电子产品时,需要采集电池电压(3.3V-4.2V),同时在休眠的时候希望尽量减小待机电流。电池电压采集电路采用两个1%的300K电阻进行分压,由该电路引起的待机电路为4.2/(300+300)mA=7uA.此时比较合理(整机的待机电流要求30uA以内)。 初始设计电路如下: 在编程采集数据时发现测试电压与实际电压有偏差,测试值总比实际值偏小一点。在软件上做补偿,把值修正了。
作者:strongerHuang一、关于编码器编码器的种类有很多:增量式编码器、绝对值编码器,有轴或者无轴编码器,电压输出、推拉输出、集电极开路输出等等。但不管什么类型的编码器,其目的都类似,得到转动的角度,角速度、位移等。本文讲述常见的增量式编码器,增量式编码器也可以叫正交编码器,也就是说可以通过其A、B的相位知道编码器是正转,还是反转,还可以根据编码器参数得出旋转了多少角度等。常见的增量式编码
NUCLEO-F401RE(STM32F401RE)开发板跑Micropython平台 &nb
转载
2024-09-02 18:24:39
95阅读
▌01 pyBoard实验板1.pyBoard
▲ pyBoard管脚定义 2.设计合理接口由于pyBoard本身具有很多端口,为了设计适合在面包板上进行实验的实验pyBoard,需要对于pyBoard外部接口进行适当的精简,选择种类丰富的一组(10个管脚)作为外部引脚输出。采用单排针适合将实验板插在面包板上,但也可以使用双排插针的形式。一种最基本的方式,就是利
stm32之间直接传送浮点数的实现方法指针变换小端模式字节流发送端接收端 指针变换一个变量,如果长度大于一个字节,就可以拆分为多个字节;同时,也可由多个字节合成一个变量。数据传输过程一般就是采用发送端拆分,接收端合成。其中指针变换语句是核心:int x;
x=*((int*)&x);其中x=指向该地址((强制指针类型转换)取地址); 该表达式可以将任意地址的几个字节“识别”为某一个类型
转载
2024-04-11 12:47:32
915阅读
浮点数在内存中的表示
C语言:浮点数在内存中的表示 单精度浮点数: 1位符号位 8位阶码位 23位尾数 双精度浮点数: 1位符号位 11位阶码位 52位尾数 实数在内存中以规范化的浮点数存放,包括数符、阶码、尾数。数的精度取决于尾数的位数。比如32位机上float型为23位 double型为52位。
单精度float型存储在内存中的大小为4个字
转载
2024-09-02 13:27:43
129阅读
前言一般进行远程监控时,2.4G无线通信是充当远程数据传输的一种方法。这时就需要在现场部分具备无线数据发送装置,而在上位机部分由于一般只有串口,所以将采集到的数据送到电脑里又要在上位机端设计一个数据接收的适配器。这里基于stm32分别设计了现场部分和适配器部分,这里只是基本通信功能实现的讲解,一些复杂的技术比如加密、可靠等要根据具体的应用来设计~总体说明这里采用stm32作为MCU,采
转载
2024-08-25 18:15:50
192阅读
常见问题1、当STM32的PA13/14/15引脚连接其他外设时,ST_link会出现internal grammar error 。2、但有时未连接上述引脚也会出现此情况,可以通过保持reset按钮按下后不动,在stm32开发环境Keil中点击download按钮,随后松开reset。3、在启动文件中有着stm32的分频设置,如果当前的外部晶振和内部设置的大小不匹配,则通讯时必然会出现乱码。4、
一、STM32F103知识总结-GPIO1.GPIO的工作方式:2.GPIO的相关函数:3.GPIO的初始化:4.GPIO设置:(1).GPIO置0,置1:(2).读GPIO电平/数据: 1.GPIO的工作方式:GPIO支持4种输入模式(浮空输入、上拉输入、下拉输入、模拟输入)和4种输出模式(开漏输出、开漏复用输出、推挽输出、推挽复用输出)。同时,GPIO还支持三种最大翻转速度(2MHz、10M
转载
2024-03-02 09:06:35
264阅读
咸鱼ZTMR实例—STM32固件安装 搞了个新板(PYBoard),又可以愉快地搞事情了 ZTMR是一款使用Python作为脚本语言的开源硬件开发板,它基于STM32F405单片机,通过USB接口进行数据传输。内置4个LED灯、1个加速度传感器,可在3V-10V之间的电压正常工作。ZTMR布局供电方式 ZT-Python既可以通过 USB 线与电脑连接进行供电,也可以通过干电池或其他外部电
转载
2023-10-21 13:10:09
235阅读
FPU 简介FPU 即浮点运算单元(Float Point Unit)。浮点运算,对于定点 CPU(没有 FPU 的 CPU)来说必须要按照IEEE-754 标准的算法来完成运算,是相当耗费时间的。而对于有 FPU 的 CPU来说,浮点运算则只是几条指令的事情,速度相当快。STM32F4 属于 Cortex M4F 架构,带有 32 位单精度硬件 FPU,支持浮点指令集,相对于 Cortex M0
转载
2024-07-14 19:28:57
607阅读
GPIO是芯片和外界沟通的桥梁,GPIO有很多模式,不同的模式有不同的配置,应用于不同的场合。STM32F103系列的I/O引脚共有8种工作模式,输入模式有四种浮空输入上拉输入下拉输入模拟输入其中输出模式有四种:推挽输出开漏输出复用推挽输出复用开漏输出通过百问网对STM32F103GPIO部分的学习,这部分又深入了一些。浮空输入浮空输入是 STM32 复位之后 默认模式。浮空输入模式是相对于上拉或
转载
2024-06-06 16:45:32
143阅读
目录1 简介2 datasheet关键点介绍2.1 PWR3 资料说明4 例程运行4.1 选择CM7作为项目工程对象,并编译下载程序4.2 同理编译CM4项目对象4.3 编译结果说明参考链接1 简介 STM32H747/757 系列产品线拥有 Cortex-M7 内核(带双精度浮点单元,运行频率高达 480 MHz
转载
2024-07-10 22:47:09
217阅读
1.ADC采用值转换成具体的物理量值ADC采样值在寄存器中是16位整形数据,要转换成具体的电压量,则必须进行换算。例如12位的转换精度,满量程的二进制为0000 1111 1111 1111,对应十进制数为1095,对应的电压为3.3V。所以计算公式为 &n
转载
2024-06-13 17:41:59
472阅读
在基础实验成功的基础上,对串口的调试方法进行实践。硬件代码顺利完成之后,对日后调试需要用到的printf重定义进行调试,固定在自己的库函数中。 b) 初始化函数定义: void USART_Configuration(void); //定义串口初始化函数 c) 初始化函数调用: void UART_Configuration(void); //串口初始化函数调用 初始化代码: vo
目录前言一、什么是GPIO?二、STM32引脚的种类三、STM32GPIO的工作模式3.1输入模式(浮空、上拉、下拉、模拟)3.2输出模式(推挽、复用推挽、开漏、复用开漏)3.3重映射模式 四、库函数代码编写4.1 F1系列GPIO配置4.2 F4系列GPIO配置 五、GPIO控制函数总结前言最近参加比赛,需要将f1的代码移植为f4中,为了以后方便开发也为了给想学习stm32f