DMA
  • 2025-01-19STM32江科大————DMA数据转运(实现AD多通道)
    声明:本人跟随b站江科大学习,本文章是观看完视频后的一些个人总结和经验分享,也同时为了方便日后的复习,如果有错误请各位大佬指出,如果对你有帮助可以点个赞小小鼓励一下,本文章建议配合原视频使用❤️如果你也正在学习STM32可以订阅本专栏,后续将不定期更新(˘³˘)❤️
  • 2025-01-18数据搬运工DMA原理与实验
    STM32数据搬运工-DMASTM32-DMA工作原理DMA的概念:DMA,全称为:DirectMemoryAccess,即直接存储器访问。DMA传输方式无需CPU直接控制传输,也没有中断处理方式那样保留现场和恢复现场的过程,通过硬件为RAM与I/O设备开辟一条直接传送数据的通路,能使CPU的效率大为提高。
  • 2025-01-17嵌入式杂谈——什么是DMA?有什么用?
    什么是DMA?——直接内存访问技术详解在嵌入式系统和计算机体系结构中,DMA(DirectMemoryAccess,直接内存访问) 是一种重要的数据传输技术。它允许外设(如UART、SPI、ADC等)直接与内存进行数据交换,而无需CPU的干预。DMA技术可以显著提高系统的效率和性能,尤其是在需要高速数据传输的
  • 2025-01-15ADC
    、ADC简介1.1采样定理1.2模式介绍扫描模式:使用STM32CUBEMX配置了多通道后,这一项默认开启且无法设置成关闭。这个模式就是自动扫描你开启的所有通道进行转换,直至转换完。例如你开启了CH0、CH1、CH2、CH3这四个通道,启动转换后ADC会自动将这4个通道全部转换完,但是这种连续性是可以
  • 2025-01-14STM32H723 ADC 差分与单端转换
    1、配置ADC2、配置DMA 3、DMA转换数据到数组/*USERCODEBEGINHeader_StartTaskModbus*/#defineADC_BUFFER_SIZE8//根据规则通道数调整uint32_tadc_buffer[ADC_BUFFER_SIZE];//ADC采样结果缓冲区/***@briefFunctionimplementingthemyTaskModbusthrea
  • 2025-01-13基于STM32F103标准库实现FFT,并实现音乐频谱绘制
    整个工程文件是在江科大的OLED显示屏OLED-V2.0版本IIC四针脚接口UTF-8的工程上编写的,在屏幕显示过程中,只用到了OLED显示屏的绘制直线和绘制像素点两个函数(注意,显示屏的绘制函数坐标可以任意指定,而不是按页写入。任一屏幕只要有上述两个函数均可使用。工程接线:STM32F103C8T6
  • 2025-01-13STM32 HAL库函数入门指南:从原理到实践
    1STM32HAL库概述STM32HAL(HardwareAbstractionLayer)库是ST公司专门为STM32系列微控制器开发的一套硬件抽象层函数库。它的核心设计理念是在应用层与硬件层之间建立一个抽象层,这个抽象层屏蔽了底层硬件的具体实现细节,为开发者提供了一套统一的、标准化的应用程序接口(API)
  • 2025-01-11模数转换器(ADC)入门指南:从原理到实践
    1ADC基础概念模数转换器(Analog-to-DigitalConverter,ADC)是一种将连续的模拟信号转换成离散数字信号的器件。在STM32微控制器中,ADC模块扮演着连接模拟世界与数字世界的桥梁角色。它能够将外部传感器输入的模拟电压值转换为微控制器可以处理的数字量。模数转换器(ADC)是将
  • 2025-01-04复习1
    1流水线冲突有三种类型,它们是指:资源冲突_、控制冲突和数据冲突。流水线中的数据冲突包括三类,它们是指:先写后读冲突、先读后写冲突和先写后写冲突。2所谓指令相关,是指在指令流水线中,如果某指令的某个阶段必须等到它前面的某条指令的某个阶段完成后才能开始,也就是两条指令直接
  • 2024-12-31串口DMA配置错误笔记 —— 已解决
    一、DMA发送        1、配置问题        2、发送问题二、DMA接收        1、配置问题        2、接收问题一、DMA发送1、配置问题    使用DMA发送时需要将DMA配置成内存到寄存器搬运,关闭寄存器的地址增长,如果要搬运的多个字
  • 2024-12-28江科大STM32学习:10 DMA直接存储器取存
    参考STM32F0xxx参考手册>2.存储器和总线架构<>10.DMA<1.DMA简介2.存储器映像类型起始地址存储器用途ROM0x08000000程序存储器Flash存储C语言编译后的程序代码0x1FFFF000系统存储器存储BootLoader,用于串口下载0x1FFFF800选项字节存储一些独立于程序代码的配置参数RAM
  • 2024-12-24usart+dma+idel 大量数据传输
    当串口需要接收到大量的数据,我们可以采用usart+dma+idel中断的方式来处理数据因为要使用串口中断需要先在串口初始化中使能中断/*USERCODEBEGINUSART1_Init2*/__HAL_UART_ENABLE_IT(&huart1,UART_IT_IDLE);/*USERCODEENDUSART1_Init2*/定义接收缓冲区/
  • 2024-12-20关于stm32f407 cherryusb初始化失败“This dwc2 version does not support dma mode, so stop working”问题
    初学cherryusb,照着论坛帖子操作,将cherryusb软件包加入到407工程,编译完成后,下载,出现如下问题:[I/USB]dwc2has1channelsanddfifodepth(32-bitwords)is0[E/USB]Thisdwc2versiondoesnotsupportdmamode,sostopworking通过反复确认,各种定位尝试,最终发现是usb模
  • 2024-12-19【外设篇】STMG4芯片-Hal库-I2C通信AS5600编码器(基础工程)
    引言:AS5600为绝对值编码器,其接口有I2C和ADC两种,为配合FOC的10KHZ运行速率,博主使用I2C的DMA模式+高速波特率1MHZ或ADC模拟的方式读取电机电角度,并讲明绝对值编码器在PMSM电机里如何让电角度对齐正确角度,最后用STM32Cubemx和keil5实习代码。1.I2C的HAL库函数及ADC的HAL库函数
  • 2024-12-19对高通ath11k中srng的理解
    srng总结本文中会混用srng和ring这两种描述,这两个是等价的驱动https://github.com/PolarisZg/wireless_driver_simulation/tree/main/driver/driver_wireless硬件https://github.com/PolarisZg/qemu_simudevice/tree/master/hw/wireless_simu两类方向的ringenumhal
  • 2024-12-17DMA与串口
    所写都是已知,未知并未包含,也并未去试1.串口有两种接收方式:定长与变长。每一种又分三类:普通,中断,DMA方式。定长:HAL_UART_Receive()  ,callback函数:voidHAL_UART_RxCpltCallback不定长:HAL_UARTEx_ReceiveToIdl,callback函数:voidHAL_UARTEx_RxEventCallback注意:
  • 2024-12-11零拷贝技术
    概念零拷贝是一种优化技术,通过减少数据在不同内存区域之间的复制操作,从而提高数据传输效率和降低系统开销。零拷贝并不是没有拷贝数据,而是减少用户态/内核态的切换次数以及CPU拷贝的次数。传统IO流程CPU从用户态切换到内核态,DMA控制器将磁盘数据拷贝到内核缓冲区。CPU
  • 2024-12-10串口空闲中断+DMA收发不定长数据
    编写代码时遇到了两个问题在串口使用DMA传输数据并且需要每传输一帧数据后产生空闲中断时出现问题问题原因:误认为hal库串口的空闲中断和接收中断使用的是同一个接收回调函数HAL_UART_Receive_IT(该函数会开启接收中断:标志位UART_IT_RXNE),经过查找发现接收中断回调函数只是在置
  • 2024-12-09PCIe扫盲——PCI总线的三种传输模式
    本文来简单地介绍一下PCISpec规定的三种数据传输模型:ProgrammedI/O(PIO),Peer-to-Peer和DMA。三种数据传输模型的示意图如下图所示:首先来介绍一下ProgrammedI/O(PIO)PIO在早期的PC中被广泛使用,因外当时的处理器的速度要远远大于任何其他外设的速度,所以PIO足以胜任所有的任务。举
  • 2024-12-02STM32之ADC采集和DMA传输(八)
    STM32F407系列文章-内部ADC采集和DMA传输(八)目录前言一、ADC特性二、DMA特性三、ADC采集1.单通道ADC采集1.头文件定义2.函数adc_init()3.函数HAL_ADC_MspInit()4.函数adc_channel_set()5.函数adc_get_result()6.函数adc_get_result_average()2.多通道ADC采集四
  • 2024-12-01HNU-嵌入式系统-实验三(下)_应用案例
    在前述学习实践基础(HNU-嵌入式系统-实验三(上)_基础内容)上,利用“STM32开发板”,设计并实现一个具备AD、DMA、串口通信等功能的应用案例。工程文件已上传至github,自取1.功能介绍:(1)STM32板子上有两种工作模式:1)流水灯模式,Led灯以流水形式进行亮灭2)数码管显示模式,可以在
  • 2024-12-01RK3568平台开发系列讲解(DMA篇)DMA Engine硬件介绍
  • 2024-11-29STM32G4系列MCU的Direct memory access controller (DMA)功能之一
    目录概述1DMA介绍1.1DMA的描述1.2DMA的主要特性2DMA的应用2.1DMA1和DMA22.2DMA的映射关系3DMA的功能描述3.1架构框图3.2DMA引脚和内部信号3.3DMA传输数据3.4 DMA仲裁 概述本文主要介绍STM32G4MCU的DMA功能,包括功能概述,应用特性,框架结构等内容。1
  • 2024-11-29RK3568平台开发系列讲解(DMA篇)什么是DMA
  • 2024-11-291分钟学会如何提升PCIe通信速率,基于RK3568J + FPGA国产平台!
    测试数据汇总表1 PCIe总线介绍PCIe,即PCI-Express(peripheralcomponentinterconnectexpress)是一种高速串行计算机扩展总线标准。主要用于扩充计算机系统总线数据吞吐量以及提高设备通信速度。图1 DMA技术介绍DMA(DirectMemoryAccess,直接内存访问)是一种让硬件外