Image
Image

范德萨发额

+ 关注

粉丝 2     |     主题 61     |     回帖 1012

stm32 DMA理论+实践
2024-4-9 12:11
  • ST MCU
  • 82
  • 1957
  4)DMA循环转移代码 首先我们上面说过,软件触发是不能配合重载的,所以转移一次之后就会停止,所以下一次 ...  
  结果(很明显看出,即使这里是吧data1的数据搬移到了data2但是1里面数据依然在,所以说是数据搬移,其实是 ...  
  声明两个数组,Data1里面有数据,2里面没有数据 调用MyDMA_Init()里面写入参数,第一个为传输个数,第二 ...  
  10 主函数  
  9 初始化结构体和使能DMA 将刚刚配置的参数,通过Init函数写入到DMA的配置中,之后开启cmd开启MDA传输数 ...  
  8 DMA_PeripheralInc&DMA_MemoryInc 是否自增,就是传输完一个数据后,地址会不会自己+1 这里我们配置为 ...  
  7 DMA_MemoryDataSize&DMA_PeripheralDataSize 这个是刚刚说的,数据传输的那点了,配置双方的字节大小, ...  
  DMA_MemoryBaseAddr&DMA_PeripheralBaseAddr 存储器和外设地址:这里写形参的名字,方便等会传参进来 ...  
  DMA_Priority 优先级 :前面说过DMA有仲裁器,会判断优先级的,这里就是就算通道号在后面,你也可以给他高 ...  
  DMA_Mode 模式,其实是配置前面所说的,重载器的模式,我们可以配置为重载或者不重载 因为是软件触发所 ...  
  DMA_M2M 这个说过是配置我们是软件触发或者硬件触发 这里选择enable就是软件触发了,前面说过选1就是软件 ...  
  ......  
  DMA_DIR 配置方向DIR 前面说过需要配置是存储器到存储器还是存储器到外设,或者外设到存储器,这个参数的 ...  
  DMA_BufferSize 配置传输计数器的大小BUFFerSize 说了是传一次减一个,所以这里你传几个数据你就写几,这 ...  
  这里看着参数很多,其实可以对照前面说的流程,  
  之后是往刚刚声明的结构体对象里面写参数  
  然后开启DMA1的时钟,前面说过DMA是挂载在AHB总线上的,1为互联型芯片的参数 2为其余的芯片 我们用的不是 ...  
  首先还是熟悉的写一个初始化,首先还是声明一个结构体变量,声明到第一行 ...  
  3)DMA单次传输代码 首先先把初始化代码放在这  
  2)DMA传输框图 通过DMA将一个数据传输到另外一个地方,每次地址给他配置为自加,传输一位DMA的计数器就 ...  
2
3
近期访客