草庐IT

【毕业设计】基于 STM32 的自动泊车系统 -智能小车 - 物联网单片机

文章目录1简介1背景2设计概要3硬件选型3.1主控-STM323.2电机驱动3.3红外遥控设计3.4传感器部分3.4.1循迹模块3.4.2红外避障模块3.4.3超声波模块3.4.4WIFI视频模块4小车成品展示5泊车算法设计5.1侧方位泊车5.2倒车入库6测试效果7最后1简介Hi,大家好,这里是丹成学长,今天向大家介绍一个单片机项目基于STM32的自动泊车系统大家可用于课程设计或毕业设计单片机-嵌入式毕设选题大全及项目分享:https://blog.csdn.net/m0_71572576/article/details/1254090521背景目前我们所能见到的汽车企业大多数都控制在L2级半

【LVGL移植】STM32F1基于STM32CubeMX配置硬件SPI驱动1.8寸TFT ST7735S跑LVGL图形demo

【LVGL移植】STM32F1基于STM32CubeMX配置硬件SPI驱动1.8寸TFTST7735S屏幕跑LVGL图形demo🎬运行LVGL按键组件demo✨基于STM32CubeMX配置工程是因为方便移植,只要是STM32芯片,拿到我的这个工程源码就可以根据自己的stm32芯片,自行通过STM32CubeMX工具软件进行工程配置,并将我的工程中的屏幕驱动文件拷贝到自己的工程目录下,修改2个驱动函数代码就可以轻松点亮。📌相关篇《STM32F1基于STM32CubeMX配置硬件SPI驱动1.8寸TFTLCD128X160ST7735S屏幕》✨版本说明:基于LVGL8.3版本裸机移植的。不包含操

STM32多通道PWM输出及停止

STM32具有多个定时器,这里采用的是STM32F103C8T6高级定时器TIM1的四个通道(CH1,CH2,CH3,CH4)。操作顺序:1.配置GPIO(根据stm32外设及其引脚映射,详解下方有图表)2.配置TIM的PWM1模式3.书写相应的函数我们的目标是  在PA8和PA9实现呼吸灯效果:1.PA8呼吸,PA9呼吸                            2.PA8呼吸,PA9不呼吸1。配置GPIO由GPIO引脚映射表(下图)可知,TIM1的CH1---PA8,CH2---PA9,先拿这两个试试刀,我们的目标是在PA8和PA9实现呼吸灯效果:1.PA8呼吸,PA9呼吸  

STM32实战总结:HAL之IAP

我们学习单片机一般都是从51开始的,51单片机烧录程序通常是使用烧录软件如STC-ISP。这种方式,通过串口连接单片机,选择一个合适的波特率就可以烧录了。后来学习STM32,编程时使用KEIL软件自带的下载按钮就能下载程序,方便了不少,但需要额外使用J-Link等下载器。再后来,接触到产品研发,给已经发布出的产品升级,都是要靠远程无线升级的。……ICP全称是InCircuitProgramming,即在电路中编程ICP是最早的一种程序升级方式。首先需要明确的是,单片机程序下载的本质就是将由0和1组成的hex文件写入到掉电数据不会消失的EEPROM(ElectricallyErasablePro

基于STM32配置PWM的输出和相关GPIO口的配置(有关重映像问题解答)

使用STM32定时器进行PWM的配置有以下几个步骤,以下是参考例差可以作为历程参考。/*******************************************************************************************************************************使用PWM来实现对电机的控制,实现开环的速度控制**使用四个直流电机motor1:motor2:*motor3:motor4:*cnt=0对应占空比0TIM3:(部分重映像)CH1:PB4CH2:PB5CH3:PB0CH4:PB1TIM4:CH1:PB6CH2

STM32F407 SPI配置和时序图讲解(二)

上节讲了SPI的基本配置,这节主要讲解如何看时序图,SPI数据到底是如何传输的。SPI初始化后,就可以开始向对象发送数据了,但是要发送数据给W25Q128模块,需要按照它的时序图来发送(个人用的是W25Q128模块)W25Q128模块简介W25Q128是一款常见的串行闪存存储器模块,属于WinbondElectronics生产的产品系列之一。以下是关于W25Q128模块的一些基本信息:存储容量:W25Q128模块的存储容量为128Mb(兆比特)或16MB(兆字节)。它可以存储大量的数据,如代码、配置文件、图像、音频等。SPI接口:W25Q128模块使用SPI(SerialPeripheralI

STM32+FreeRTOS 使用SystemView监控系统

前言本文以STM32F407ZET6+FreeRTOSV9.0作为演示,其它的CortexM芯片同样可以参考此文,其他内核和RTOS理论上也支持,本文暂时不做研究。所以开始阅读本文前,需要一块能运行FreeRTOS的CortexM芯片,如果没有移植好操作系统,可以参考我的另一篇文章《STM32F103移植FreeRTOS完整过程》本文打包提供FreeRTOSV9.0源码,SystemView安装包,STM32F407ZET6示例工程,在文章顶部标题下方。SystemView简介SystemView是嵌入式系统的实时记录和可视化工具。它揭示了应用程序的真实运行时行为,比调试器提供的系统洞察更深入

STM32-SPI通信(W25Q64芯片简介,使用SPI读写W25Q64存储器芯片)

目录一、SPI的通信协议及其原理1.1SPI简介1.2SPI通信的硬件连接1.3SPI的时序基本单元1.3.1起始条件和终止条件1.3.2交换字节(模式0,先移入,再移出)1.3.3交换字节(模式1,先移出,再移入)1.3.4交换字节(模式2,对应模式0,SCK极性取反)1.3.5交换字节(模式3,对应模式1,SCK极性取反)1.4SPI的指令操作二、STM32的SPI通信外设2.1SPI外设简介2.2SPI外设结构2.3主模式全双工连续传输时序2.4非连续传输时序三、W25Q64存储器芯片3.1W25Q64简介及其工作原理3.2Flash操作注意事项3.2.1写入操作3.2.2读取操作四、代

HAL库配置STM32F1系列定时器驱动步进电机(四)(梯形加减速)

前言经过之前的一些学习我们已经成功地让电机成功地转了起来,但是在实际应用中这样的电机是很难满足工业上的一些需求的,因为电机在启动和停止时都很难在一瞬间达到目标速度,我们可以从波形图的角度来看,如果我们让电机从0启动然后马上到目标速度再从速度马上停止到0,这样显然是不现实的,会产生丢步的情况,因此接下来要介绍一种电机控制算法:梯形加减速(资料来自正点原子)梯形加减速原理通过前面的学习,我们知道了当定时器处于输出比较模式下时,决定脉冲频率的参数是比较值ccr(以下统称Cn),因此控制速度首先我们要能够实时改变比较值,具体来说有三个:(1)加速阶段时需要多少脉冲数?使用n1进行表示(2)减速阶段要步

STM32从固件库到HAL库

让坚持成为一种热爱,极致成为一种精神。历时10个月,目前我又重新回到了程序员的身份,2023想玩不一样的嵌入式。🚀目录前言一、安装STM32CubeMX二、配置自己的HAL库MDK工程三、HAL库与固件库的区别1.句柄2.回调函数3.时钟配置4.HAL_Init()5.其他结语前言我学STM32是基于固件库的,之后的一年都是用固件库开发STM32。其实固件库还是挺好用的,很稳定,即使ST已经放弃很多年了。为什么改用HAL库?1)CubeMX+HAL库是大势所趋。2)CubeMX可以直接生成驱动代码,而且CubeMX是很好的工具,即使不用HAL库,里面的一些工具对开发也很有帮助。3)HAL库效率