草庐IT

CubeMX-DMA

全部标签

野火STM32电机系列(五)Cubemx配置高级定时器TIM1

鸽了一段时间,放心不会断的哈,目前仅仅是显示屏坏了,不影响后面项目前文已经配置了GPIO、编码器本节讲解CubeMX高级定时器TIM1配置带死区的6路互补的PWM同时配置信号触发后续ADC采集板子引角的原理图如下对应的:Motor1--U+--PA8--TIM1_CH1Motor1--U---PB13--TIM1_CH1NMotor1--V+--PA9--TIM1_CH1Motor1--V---PB14--TIM1_CH1NMotor1--W+--PA10--TIM1_CH1Motor1--W---PB15--TIM1_CH1N接着配置具体参数如下:由于pwm控制频率为10K,芯片的时钟周期为

stm32cubemx配置mpu6050——10分钟0基础到灵活使用

stm32cubemx配置mpu6050——10分钟0基础到灵活使用10分钟速通!你没看错,就是10min,从0基础到灵活运用mpu6050。不信?往下看看就会:嗷~原来如此第一步下载github开源代码。https://github.com/leech001/MPU6050首先声明,此代码不是本人所写,为某俄罗斯大佬提供。如果你访问不了github不用担心,我在文章最后附上下载下来的文件第二步软件根据github开源项目的Readme内容,进行工程配置:开启i2c将下载下来的.c和.h文件加入到工程内。(有运用mpu6050需求的同学,应该这部都会知道怎么做吧?在需要调用mpu6050接口的

STM32CubeMX学习笔记(46)——USB接口使用(HID自定义设备)

一、USB简介USB(UniversalSerialBUS)通用串行总线,是一个外部总线标准,用于规范电脑与外部设备的连接和通讯。是应用在PC领域的接口技术。USB接口支持设备的即插即用和热插拔功能。USB是在1994年底由英特尔、康柏、IBM、Microsoft等多家公司联合提出的。USB发展到现在已经有USB1.0/1.1/2.0/3.0等多个版本。目前用的最多的就是USB1.1和USB2.0,USB3.0目前已经开始普及。STM32F103自带的USB符合USB2.0规范,不过STM32F103的USB都只能用来做设备,而不能用作主机。标准USB共四根线组成,除VCC/GND外,另外为D

FPGA PCIE接口的Linux DMA Engine驱动

摘要英创嵌入式主板,如ESM7000系列、ESM8000系列等,均可配置标准的PCIE×1高速接口。连接NVMe模块作高速大容量数据存储、连接多通道高速网络接口模块都是PCIE接口的典型应用。此外,对于工控领域中的高速数据采集,还可采用FPGA的PCIEIP核实现PCIEEP端点,与英创嵌入式主板构成高效低成本的应用方案。本文简要介绍方案硬件配置,以及PCIE在Linux平台上的驱动程序实现。硬件设计要点Xilinx公司为它的FPGA设计有多种PCIEEP端点的IP核,针对本文的应用需求,选择DMA/BridgeSubsystemforPCIExpressv4.1(简称PCIE/XDMA)。P

【物联网】DMA传输原理与实现详解(超详细)

DMA(DirectMemoryAccess,直接内存访问)是一种计算机数据传输方式,允许外围设备直接访问系统内存,而无需CPU的干预。文章目录Part1:DMA的工作原理配置阶段:数据传输阶段:Part2:DMA数据组成Part3:DMA传输过程的实现Part4:DMA中断处理和性能优化DMA中断处理:DMA性能优化:Part5:STM32实现DMA基于标准库基于HAL库Part1:DMA的工作原理DMA(DirectMemoryAccess,直接内存访问)是一种计算机数据传输方式,允许外围设备直接访问系统内存,而无需CPU的干预。下面详细介绍DMA的工作原理:配置阶段:配置源地址(Sour

【STM32F4系列】【HAL库】【自制库】WS2812(软件部分)(PWM+DMA)

文章目录相关链接协议外设设置硬件PWM分析HAL设置DMA分析HAL设置方案设计代码实现解码函数开始发送和复位发送函数波形成品相关链接硬件介绍(PCB设计方案)模拟时序发送协议WS2812是一种异步串行通信,它每一位数据时间是ns级别的默认是高电平状态0码:220-380ns高电平+580-1600ns低电平1码:580-1600ns高电平+220-380ns低电平复位码:>280us低电平24Bit数据来代表GRB的亮度值从高位到低位发送,分别按照G->R->B的顺序发送先发送第一个灯的数据(离Dat输入直连的那个灯)例子:分别发送红绿蓝三色的数据给3个ws2812外设设置硬件PWM分析ST

GD32F4单片机实现接收超时中断+DMA实现串口的不定长接收和DMA发送

1、通常的实现方式介绍环形缓冲区+定时器超时中断的方式优点环形缓冲区可以接收多帧数据数据帧超时间隔可以设置缺点设备任务比较繁重时,使用中断接收可能会丢失数据。尤其是在长时间关闭中断或者串口中断优先级不高时频繁进出中断。在使用RTOS的系统中,每收到一个数据就会进行一次任务到中断的切换和中断到任务的切换使用串口接收空闲中断+DMA的方式优点不会频繁在任务和中断之间切换,效率会更高一般不会丢失数据缺点空闲中断的时间对于同一个波特率来说是固定的,但某些时候1个字节的接收时间太短,不能作为数据帧接收完成的标志2、接收超时中断的相关内容GD32F4系列的单片机串口除了空闲中断外,还有可配置时间的接收超时

2018年电赛A题 软件部分 STM32 FFT 时域到频域 STM32cubeMX HAL

2018年电赛A题软件部分STM32FFT时域到频域STM32cubeMXHALA题:电流信号检测装置软件部分(STM32cubeMX+HAL)题目要求:任意波信号发生器输出非正弦信号时,基波频率范围为50Hz~200Hz,测量电流信号基波频率,频率测量精度优于1%;测量基波及各次谐波分量的幅度(振幅值),电流谐波测量频率不超过1kHz,测量精度优于5%。实现方式:利用STM32单片机内置ADC对待测信号进行采集,ADC采用DMA传输,用定时器控制ADC采样频率,然后用ST官方提供的DSP库进行运算,运算完之后对频谱进行分析。理论基础对于初学者来说,不了解FFT算法是很正常的,但是ST官方提供

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

【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,因为这里涉及到驱动函数里面的宏定义,这样设置之后方便以后驱