DMA的功能就是负责搬运数据,所以设置DMA时要设置搬运数据的起始地址、搬运数据的目的地址、每次搬运是否累加、每次搬运的长度
Configuration
DMA
1. DMA Request
- 配置使用DMA进行什么操作
2. Channel
- 选择DMA操作后自动配置
3. Direction
- 选择数据搬运方向,选择DMA操作后自动配置
4. Priority
- DMA优先级
- 当多个DMA通道的请求同时到达时,优先级高的通道会先被响应,优先级低的等待
5. Mode
- DMA的模式
- Normal:只搬运1次
- Circule:搬运完成后再次搬运
6. Increment Address
- 搬运时是否地址自增
- 大多数都是内存侧进行地址增加
7. Data Width
- 每次搬运数据的长度
补充知识
相关中断
- 搬运全部完成
- 搬运完成一半
使用方式
- 使用DMA时,需要确定搬运数据的大小
- 如果是对于通信问题不确定每次搬运数据的大小,则可以使用DMA-IDLE的方式
- DMA搬运完成或通信IDLE都结束本次DMA搬运,接受数据