一、什么是PWM脉冲?PWM(PulseWidthModulation)脉冲宽度调制,通常应用于惯性系统中,(不是不能即停的设备,因为如果设备不具有关心,那么运动是断断续续的,不具有连续性),通过脉宽调节输出不同的波形作用域受控对象。二、PWM中三个重要的参数1.频率=1/Ts;这个很好理解,就是在单位时间内输出的波形的个数啦。 2.占空比=Ton/Ts;在一个脉冲周期内,脉冲波形中高电平的宽度占整个周期内波形宽度的比值。3.分辨率=占空比变化步距,指PWM最小能设定到的高电平时间所占周期的比例,也即最小占空比,意思就是把一个周期的时间分成了多少份,如果是10份,那么占空比的精度就为10%。如
接上一部分基于STM32的智能循迹避障小车实验(小车运动部分)上一篇我们成功让小车动起来了,现在我们试着让小车听话地运动。实验所用器件及其介绍这一部分主要利用了循迹模块两个图1循迹模块就是这个东西:一共三个引脚VCC:电源线,连接单片机的3.3V-5VGND:地线,连接单片机的接地(GND)OUT:开关信号输出(传感器检测到黑线的时候,这个引脚呈现高电平)循迹模块工作原理:红外发射器一直发射红外线,红外线经发射后被接收,此时输出低电平,输出指示灯点亮。 黑色是不反射红外线的,也就是说循迹模块遇到黑线,模块输出高电平,输出指示灯熄灭。注意:当循迹模块距离地面太高时,
74HC595是一款常用的串行输入/并行输出(Serial-in/Parallel-out)移位寄存器芯片,在数字电子领域有着广泛的应用。它具有简单的接口和高效的扩展能力,成为了许多电子爱好者和工程师们的首选之一。本文将深入介绍74HC595芯片的功能、应用场景以及工作原理。文章目录一、功能概述:二、芯片的基本介绍三、引脚及功能四、内部结构和原理内部结构:实现原理:五、多个74HC595级联连接图:连接步骤:六、点阵屏连接图:控制流程:使用STM32F103控制点阵屏1.硬件连接:2.控制逻辑:3.示例代码:七、应用场景一、功能概述:平时我们需要实现使用单片机点亮一个LED灯,那就要使用一个配
1.STM32F103RCT6最小系统板如图1所示2.BTN7971B电机驱动器 3.GB37-520带减速器和编码器直流电机 4.电机测试(不接单片机) 5.电机测试,联接单片机 按照如图所示,联接GB37-520电机BTN7971B模块电源电机侧BTN7971B模块单片机侧最小系统板1M+OUT15V+2M-OUT2IN1PC63GNDVCCIN2PC74VCCGNDGNDGND5B6A 6.STM32CubeIDE中配置针脚串口下载、时钟、PD2点亮D2如前例所示 https://blog.csdn.net/zhenglu777999/article/details/124256688本
STM32TIMER_TRGO触发+ADC采集+DMA传输实现三相电压采集STM32TIMER_TRGO触发+ADC采集+DMA传输+中断均方根处理实现三相电压采集首先,是实际采集的三相电压值,用excel处理了下:采集个电压,为什么这么复杂。开始我也是直接用ADC采集,然后delay,再采集,然后delay,再采集……最后数据处理……问题是如果我们用单片机裸跑,每次delay都会卡死,每路采集五个周期要100ms,三路电压就要300ms,试想每1s更新显示结果,有300ms就在采集电压,你能接受不?如果用ucos或rtos等多线程,会好点,但是由于采集时间精确度差,导致采集电压跳变很厉害,你
目录1、了解STM32的寄存器组1.1、Cortex-M3的通用寄存器组1.1.1、通用目的寄存器R0-R71.1.2、通用目的寄存器R8-R121.1.3、R13—堆栈指针(SP)1.1.4、R14—连接寄存器(LR)1.1.5、R15—程序计数器(PC)1.2、Cortex‐M3的特殊功能寄存器1.2.1、xPSR—状态寄存器1.2.2、中断屏蔽寄存器组1.2.3、控制寄存器(CONTROL)2、CM3系统的异常类型&可能原因2.1、Hard-Fault错误发生时的有关寄存器2.1.1、存储器管理fault状态寄存器(MFSR)2.1.2、总线fault状态寄存器(BFSR)2.1.3、用
目录一、SPI是什么二、SPI物理架构三、SPI工作原理四、SPI工作模式五、SPI相关寄存器介绍六、SPI用到的结构体与函数1.结构体2.函数七、W25Q128芯片1.W25Q128介绍2.W25Q128存储架构3.W25Q128常用指令4.W25Q128状态寄存器5.W25Q128常见操作流程八、实验(使用SPI通讯读写W25Q128模块)1.接线2.配置3.代码1.main.c文件2.w25q128.c文件(向工程添加w25q128.c文件)3.w25q128.h文件(向工程添加w25q128.h文件)4.spi.c文件编写5.spi.h文件编写九、STM32工程添加.c和.h文件一、S
目的:测试STM32H7系列芯片的SPI读写速度。测试环境:使用STM32H743,逻辑分析仪,cubeIDE;测试方法:使用了3种方法:软件IO模拟SPI,软件控制CS+MCU的SPI模块,完全使用SPI模块;结论:STM32SPI读写速度评估:软件IO模拟SPI,systemclock100M的情况下,1个读/写周期(3byte),大约90-120uS;软件IO控制CS,systemclock100M的情况下,1个读/写周期(3byte),大约25-35uS;硬件模块SPI,SPI波特率4M的情况下,1个读/写周期(3byte),大约15-20uS;测试过程:1.软件IO模拟实现SPI2.
为什么需要数据对齐?避免数据在内存中跨边界存储,减少读取数据次数,提高效率,本质上是以空间换时间的做法下图中属于同一水平位置的为同一边界变量在同一边界里的一次存储周期就可以读取一旦跨了上下两个边界来存储就需要至少两个存储周期来读取根据存储器结构,如下图,参考链接:多体并行:高位/低位交叉编址CPU数据线有32位一次最多可以从内存读取32数据,这里的一次指一次存储周期LDRr1,[pc,#4],是从pc+#4地址处开始连续读取4个字节的数据到r1寄存器LDRHr1,[pc,#4],是从pc+#4地址处开始连续读取2个字节的数据到r1寄存器LDRBr1,[pc,#4]直接取pc+#4当前那个地址的
目录前言一、两块hc-05蓝牙通讯的连接二、使用步骤1.hc-05从机,该教程主要是应用于【收数据】usar.h代码usart.c代码(只引用stm32的串口2,串口一用于烧程序)main.c2.hc-05主机,该教程主要是应用于【发数据】usar.h代码usart.c代码(只引用stm32的串口2,串口一用于烧程序)main.c三、应用四:总结前言在学习hc-05的过程中,发现csdn的文章对于hc-05模块的使用大多为hc-05与usb转ttl模块的连接使用,而对于有关于hc-05与stm32f1的连接与使用的文章少之又少,于是决定写一篇文章,来帮助在学习hc-05模块遇到问题的朋友们一、