完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
DMA(直接存储器访问),提供外设与存储器、存储器与存储器之间的告诉数据传输,不需要CPU的参与,共有七个通道。
一、DMA传输有三个操作完成 ● 从外设数据寄存器或者从DMA_CMARx 寄存器指定地址的存储器单元执行加载操作。 ● 存数据到外设数据寄存器或者存数据到DMA_CMARx 寄存器指定地址的存储器单元。 ● 执行一次DMA_CNDTRx 寄存器的递减操作。该寄存器包含未完成的操作数目。 二、仲裁器(优先级) 1. 软件:优先级由DMA_CCRX配置,4个优先级别:最高、高、中等、低。 2. 之间:若软件优先级相同,则通道号小的优先级更高。 三、属性 1. 可编程的数据大小 2. 指针增量:传输地址加1,2或者4。 3. 通道配置过程:DMA_CPARX设置外设地址——DMA_CMARX设置数据存储地址——设置数据量——设置优先级别——设置传输防线、循环模式等——启动 四、循环模式 可以处理循环缓存和连续数据流,当床书数目变为0是,将会自动的被恢复成配置通道是设置的初值,DMA操作将会继续进行。 五、 1. 错误管理 2. 中断:每个通道传输一半、完成或错误时,可以使用单独的中断使能信号产生中断。 3. DMA请求映射 外设请求:ADC/tiMX/SPIX/I2C/USARTX 一次仅能使能一个请求。 六、程序分析 DMA_DeInit(DMA1_Channel1); //将DMA通道1所有寄存器重设为缺省值 DMA_InitStructure.DMA_PeripheralBaseAddr = ADC1_DR_Address; //DMA外设基地址(外设存储器映像值+地址偏移) DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)&ADCConvertedValue; // 该参数用以定义DMA内存基地址 DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC; //外设作为数据传输的来源 DMA_InitStructure.DMA_BufferSize = 1;//指定DMA通道的DMA缓存的大小,也是就传几个数据 DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;//外设地址寄存器不变 DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Disable;//内存地址寄存器不变 DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord;//外设数据宽度为16位 DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord;//存储器的数据宽度为 DMA_InitStructure.DMA_Mode = DMA_Mode_Circular;//工作在循环缓存模式 DMA_InitStructure.DMA_Priority = DMA_Priority_High;//DMA通道1拥有高优先级 DMA_InitStructure.DMA_M2M = DMA_M2M_Disable;//没有设置成内存到内存 DMA_Init(DMA1_Channel1, &DMA_InitStructure);//根据DMA_InitStruct中指定的参数初始化DMA通道1寄存器 /* Enable DMA1 channel1 */ DMA_Cmd(DMA1_Channel1, ENABLE); |
|
|
相关推荐
|
|
|
感觉没什么意义……
|
|
|
|
|
|
|
|
STM32F405驱动DS1302时钟模块,输出时间错乱该怎么排查?
2810 浏览 2 评论
stm32f405rgt6驱动DS1302ZN出现时间错乱问题
2420 浏览 1 评论
stm32用fsmc读取ad7606采集数据,数据不变,只有开发版复位才更新数据
2288 浏览 0 评论
2404 浏览 1 评论
1643 浏览 1 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 17:22 , Processed in 0.647805 second(s), Total 71, Slave 53 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖