CubeMx-DMA

DMA的功能就是负责搬运数据,所以设置DMA时要设置搬运数据的起始地址、搬运数据的目的地址、每次搬运是否累加、每次搬运的长度

Configuration

DMA

1. DMA Request

  1. 配置使用DMA进行什么操作

2. Channel

  1. 选择DMA操作后自动配置

3. Direction

  1. 选择数据搬运方向,选择DMA操作后自动配置

4. Priority

  1. DMA优先级
  2. 当多个DMA通道的请求同时到达时,优先级高的通道会先被响应,优先级低的等待

5. Mode

  1. DMA的模式
  2. Normal:只搬运1次
  3. Circule:搬运完成后再次搬运

6. Increment Address

  1. 搬运时是否地址自增
  2. 大多数都是内存侧进行地址增加

7. Data Width

  1. 每次搬运数据的长度

补充知识

相关中断

  1. 搬运全部完成
  2. 搬运完成一半

使用方式

  1. 使用DMA时,需要确定搬运数据的大小
  2. 如果是对于通信问题不确定每次搬运数据的大小,则可以使用DMA-IDLE的方式
    1. DMA搬运完成或通信IDLE都结束本次DMA搬运,接受数据
相关推荐
敬往事一杯酒哈8 小时前
海康 AGV 导航读码器学习
学习
fly_sunnn9 小时前
STM32-GPIO
stm32·单片机·嵌入式硬件
qq_2842740510 小时前
机械原理笔记:平面机构自由度计算(复合铰链、局部自由度、虚约束)与四杆机构入门(含考点)
笔记·学习·平面·自动化·制造
qq_2842740511 小时前
数控铣床与加工中心笔记:铣刀与刀柄系统、G54试切对刀、镜像加工指令、孔加工工艺(钻扩铰镗)与固定循环G73/G83/G81/G76/G87/G84
笔记·学习·自动化·制造
Titan202412 小时前
MySQL访问个人学习笔记
笔记·学习·mysql
宵时待雨12 小时前
STM32基础1:嵌入式历史与生态
stm32·单片机·嵌入式硬件
小雪崩13 小时前
嵌入式学习 day64:字符设备驱动
学习
深圳老胡13 小时前
STM32CubeMX 生成 CMake 工程,用 VSCode 编译与调试的完整流程
笔记·stm32·单片机·代码规范
个 人 练 习 生13 小时前
C++ string 类模拟实现:从底层理解字符串(上)
开发语言·c++·经验分享·学习·程序人生
坤坤子吖13 小时前
C++智能指针:RAII、shared_ptr与内存泄漏
开发语言·c++·笔记·学习