OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3644|回复: 2

关于DMA的收发

[复制链接]

4

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
50
金钱
50
注册时间
2013-6-7
在线时间
0 小时
发表于 2015-3-2 14:10:53 | 显示全部楼层 |阅读模式
5金钱
您好,

    我在做一个项目:使用USART1的智能卡模式用DMA去控制。通过USB向USART1发送指令码,然后USART1通过DMA方式向智能卡写入。同时,智能卡在接收到指令的时候,会有一个返回值。同样,通过DMA得到返回值,并且经过USB发送到上位机。

    现在需要做的是通过USART1读写智能卡。我的问题是在我的应用中,在设置DMA的时候,数据的方向问题,应该是双向的呀。但是根据《stm32中文参考手册》第151页关于DMA通道配置寄存器(DMA_CCR)的“位4”,只有两种,一种是从外设到内存,另外一种是从内存到外设。可是我的引用中包含了两个方向,那么请问这个怎么解决?

    是我如果需要从STM32到智能卡的话,要配置一次USART1的DMA模式数据方向。并且若从智能卡到STM32时,重新配置一次USART1的DMA方式数据方向吗?

谢谢啦~

最佳答案

查看完整内容[请看2#楼]

回复【2楼】小大琦: --------------------------------- 多谢啦,我搞定了DMA,是我概念上的错误。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

4

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
50
金钱
50
注册时间
2013-6-7
在线时间
0 小时
 楼主| 发表于 2015-3-2 14:10:54 | 显示全部楼层
回复【2楼】小大琦:
---------------------------------
多谢啦,我搞定了DMA,是我概念上的错误。
回复

使用道具 举报

4

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
58
金钱
58
注册时间
2015-2-9
在线时间
2 小时
发表于 2015-3-2 17:52:51 | 显示全部楼层
用过一次ADC采集的DMA,和一次USART的DMA发送。在每次发送DMA的时候都需要重新配置一下DMA的,不然没法发出去。至于USART的DMA接受没用过。可以去看看官方提供的DMA例程中有没有提供相关的代码。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-25 14:38

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表