历史上的今天
今天是:2024年10月07日(星期一)
2018年10月07日 | STM32学习之DMAM-M模式
2018-10-07 来源:eefocus
由于是M-M模式,所以只能选择DMA2
一、首先应该初始化DMA结构体
1.选择通道DMA_Channel,根据数据流选择对应的通道,
2.选择源数据地址DMA_PeripheralBaseAddr
3.目标地址DMA_Memory0BaseAddr
3.选择传输方向DMA_DIR,根据实际情况有这三种DMA_DIR_PeripheralToMemory DMA_DIR_MemoryToPeripheral DMA_DIR_MemoryToMemory
4.设定待传输数据数目DMA_BufferSize,源数据大小
5.使能源数据地址,目标地址递增,
6.源数据和目标宽度DMA_PeripheralDataSize和DMA_MemoryDataSize,根据需要选择,字节,半字和字
7.选择传输模式DMA_MemoryDataSize,M-M模式只能一次传输,
8.DMA_Priority:软件设置数据流的优先级,有 4 个可选优先级分别为非常高、高、中和低 DMA 优先级只有在多个DMA 数据流同时使用时才有意义
9.DMA_FIFOModeFIFO 模式使能如果选择存储器到存储器模式(DMA_SxCR 中的 DIR 位为“10”),并且 DMA_SxCR 寄存器中的 EN 位为“1”,则此位由硬件置 1,因为在存储器到存储器配置不能使用直接模式。
10.DMA_FIFOThreshold: FIFO 阈值选择,可选 4 种状态分别为 FIFO 容量的 1/4、1/2、 3/4 和满;
11.DMA_MemoryBurst:存储器突发模式选择,可选单次模式、 4 节拍的增量突发模
式、 8 节拍的增量突发模式或 16 节拍的增量突发模式
DMA_PeripheralBurst:外设突发模式选择,可选单次模式、 4 节拍的增量突发模
式、 8 节拍的增量突发模式或 16 节拍的增量突发模式,
12.初始化结构体,清除标志位,使能数据传输,检测DMA数据流是否有效并带有超时检测功能
上一篇:STM32学习之EXTI
下一篇:STM32学习之GPIO
史海拾趣
|
菜鸟求教:EM78P447SAPJ-G 用什么编程语言和开发工具? EM78P447SAPJ-G是义隆EM78系列的单片机,请教用什么语言编程比较好,语言对应什么开发工具?听说还需要硬件的工具,希望大家帮忙指教一下,如果有图文教程更好。… 查看全部问答> |
|
我现在用GPRS Q24plus模块做数据传输实验,老师给的AT命令全是AT#命令,响应全是ERROR,听说是命令已过时,那位大哥现在有最新的AT命令啊,顺便在教教我怎样连上网络,怎样和公网中FTP服务器建立连接,我QQ397206230,E-mail:arestf@163.com… 查看全部问答> |
|
wavecom Q24Plus,wip版本v301,利用tcp功能发彩信大图片不成功 不是利用操作系统建立拨号网络形式的网络连接。用的是内嵌的tcp功能。 发送彩信小些gif图片可以,200字节左右,大的不成功。指令里返回shutdown。 该从哪下手解决阿?用同样实现方式有成功的吗?恳请高手。… 查看全部问答> |
|
1.SIM300模块上电后 除了通过Powerkey引脚电平启动外,还有别的办法软件启动或复位吗? 2、怎样检测sim卡的状态,如sim卡是否已经插入的检测,“AT+CSDT=1\"可以设置检测但,6脚的sim卡不能输出simpresent信号,有什么别的AT指令或办法吗? 多谢 ...… 查看全部问答> |
|
请高手帮忙分析 我用了个18.432M的晶振 两脚各接了一个30P的电容 晶振不起振 是什么原因呢 30P是根据公式算出来的(C1+C2)+C0=CL 18.432M晶振的负载电容查了下是15p 左右 是不是接的电容不正确啊 先谢 ...… 查看全部问答> |
|
前提:在一个文件夹中,有1000个文件夹,文件夹的名字都是规则的\"姓名 分数\".例如: eeworld 99. 要求:将1000个文件夹的名字都写入txt文档 附加要求:对txt文档中的文件夹名称数据进行排序.… 查看全部问答> |




