草庐IT

STM32+UART串口+DMA收发

目录1、cubemax端配置1.1初始化配置1.2GPIO配置 1.3UART配置1.3.1串口基础配置1.3.2DMA配置2、keil端代码设计2.1初始化配置2.2DMA接收初始化配置2.3DMA发送配置 2.4接收回调函数设置2.5回调函数内容代码编写2.5.1接收回调函数2.5.2发送回调函数2.6回调函数内容代码优化1、cubemax端配置1.1初始化配置首先通过STM32cubemax进行基础配置: cubemax基础配置1.2GPIO配置通过一个LED小灯(高电平有效)来观察效果,对PB0引脚进行GPIO配置,如下图所示: 1.3UART配置1.3.1串口基础配置1.3.2DMA

STM32 简易Bootloader

目录前言:一、flash分配二、起始地址设置方法三、设置app生成bin文件四、下载程序 五、合并hex前言:    主要实现bootloader串口读取app程序,将app程序拷贝到对应运行的flash区域,跳转到对应的区域执行代码。本文没有复杂的显示,app只点亮一个灯做测试用。一、flash分配    本文使用的是stm32f103ve,flash有512k(如果你使用的大于512k可以使用此程序,如果小于512k那么就需要调整flash区域),分为两个程序,app程序在0x08000000运行,因此将app程序放在0x08000000处,上电就运行app程序,如果串口通知有需要拷贝程序

STM32CubeIDE + HAL + STM32f103C8T6 系列教程1 ---板载PC13LED闪烁

STM32CubeIDE+HAL+STM32f103C8T6系列教程1---板载PC13LED闪烁引言硬件关于开发板[^2]控制器内置存储器原理图硬件连线硬件连接表硬件连线图软件STM32CubeIDE下载及安装Stm32CubeIDE设置补全快捷键和主题新建一个工程选择开发板核心芯片型号设置工程相关参数STM32CubeMX配置板载灯PC13LED闪烁代码STM32程序和Arduino代码对比代码大致结构对比库函数调用对比闪烁代码下载代码到开发板小结引言之前的系列教程都是基于Arduino的,但是公司招聘51和stm32的开发还是多些,所以特别开了一个stm32的系列。这个系列特点是注重了A

基于 STM32自研多任务+SpringBoot+Vue 农业大棚智能调光系统

工作以后常常容易感到疲于奔命,即使在周末也没有得到高质量的休息。打工人/学生党如何过周末?你有哪些延长周末和下班时间的好方法吗?-方法就是多积累,多发博客,将感悟全写出来!!,接下来我给大家展示一个课程设计:源码和硬件端代码就不与展示了,在该博客的资源绑定中,大家如果有兴趣可以参考一下。前后端代码保存在我的资源中我的主要任务:1.后端获取STM32开发的信息,并能与之完成串口通信 2.前端页面的编写,完成前后端的交互3.(硬件端)根据自定义参数编写智能补灯函数基于STM32自研多任务+SpringBoot+Vue 农业大棚智能调光系统摘要        科技兴农是农业发展的必由之路,通信技术融

【CubeMX配置STM32驱动MPU6050】

CubeMX配置STM32驱动MPU6050(包含DMP)并且在0.96寸OLED上显示一、使用CubeMX进行相关配置1、配置OLED的IIC接口OLED的具体使用方法我就不细说了,我前面的文章里面有讲OLED的,如果有需要可以去看看。2、配置MPU6050的接口我用MPU6050使用的是软件IIC(其实是只找到软件IIC的驱动),所以我们只需要配置两个GPIO口就可以实现对MPU6050的控制了。这里我使用的是PB8、9,这里特别注意的是在UserLabel那儿需要将两个引脚分别设置为MPU6050_SCL和MPU6050_SDA,因为这里涉及到驱动函数里面的宏定义,这样设置之后方便以后驱

【STM32】HAL库 STM32CubeMX——DMA (串口DMA发送接收)

文章目录实验环境一、DMA的基本介绍(1)DMA的定义(2)DMA传输方式(3)DMA传输参数(4)DMA主要特征(5)DMA工作系统框图二、串口DMA通信程序设计三、使用KEIL5完成简单DMA数据发送4.总结实验环境软件:STM32CubeMXKEIL5mcuisp串口通信助手硬件:STM32F103C8Tx杜邦线,面包板,USB转TTL一、DMA的基本介绍(1)DMA的定义DMA,全称DirectMemoryAccess,即直接存储器访问。DMA传输将数据从一个地址空间复制到另一个地址空间,提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。我们知道系统的运作核心是CPU,CPU

STM32HAL库定时器中断、按键中断、串口中断、按键消抖和低通滤波算法详解

本文将详细介绍STM32HAL库中的定时器中断、按键中断、串口中断的使用方法,以及按键消抖和低通滤波算法的实现。希望能对您的STM32开发提供帮助。目录1.定时器中断2.按键中断3.串口中断4.按键消抖5.低通滤波算法一、定时器中断定时器中断是STM32开发中常用的一种中断方式,主要用于定时执行某些任务,例如按键消抖、定时更新显示等。以下为创建定时器中断的步骤:1.配置定时器首先,在STM32CubeMX中配置相应的定时器,并设置对应的时钟和预分频系数。 2.初始化定时器在main.c文件中,调用HAL_TIM_Base_MspInit()函数初始化定时器。```cvoidHAL_TIM_Ba

STM32F407VET6核心板下载器连接方法

STM32F407VET6核心板下载器连接方法硬件连接方式下载及验证最近总有学生问STM32F407VET6核心板下载器连接方法怎么样连接,抽空写了个博客说明下接法吧,如果大家看完博客还问的话,那多少有点不礼貌了哈。硬件硬件购买链接:https://item.taobao.com/item.htm?spm=a1z10.3-c-s.w4002-14787471870.9.7dec6865WB5Rn5&id=557094417101其它的板子连接就不一样是这样了,最好测试下具体的引脚,硬件实物图如下JLINK下载器购链接:添加链接描述连接方式原理图实物连接大致图实物放大下载及验证驱动资料链接:ht

STM32的QSPI通信(学习笔记)

一、SPIFlash与QSPIFLASH1、首先说说FLASH,不管是QSPIFlash还是SPIFlash说的实际上是一种闪存芯片,比如最常见的W25Q128(下图),真正不同的是SPI协议与QSPI协议罢了。可以看到下图的芯片,2、3、5、7这四个引脚是可以复用的,根据不同的通信协议变换功能。W25Q128是华邦公司推出的大容量SPIFLASH产品,W25Q128的容量为128Mb,该系列还有W25Q80/16/32/64等。W25Q128将16M的容量分为256个块(Block),每个块大小为64K字节,每个块又分为16个扇区(Sector),每个扇区4K个字节。W25Q128的最小擦除

【STM32仿真】STM32CubeMX+Keil+Proteus单片机仿真

文章目录一、软件介绍和下载安装1.1STM32CubeMX介绍1.2Proteus介绍二、创建第一个项目2.1STM32CubeMX生成代码2.2keil5生成可执行文件2.3Proteus搭建简单电路三、按键开发四、中断和定时器开发  博主最近进行单片机的仿真,本篇文章主要利用了STM32CubeMX、Keil和Proteus三个软件,为后期的硬件打下基础。文章主要目的是学习软件的使用和单片机的仿真。  本文是我在学习proteus软件和STM32CubeMX过程当中的心得和学习笔记,在学习时已经有C,C++的基础。文章附上了学习的代码,仅供大家参考。如果有问题,有错误欢迎大家留言。  此外