打印

ATSAME系列芯片DMA异常处理

[复制链接]
960|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xinzhaodadi|  楼主 | 2020-9-4 15:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请教:比如启用了多路DMA通道,若担心某通道接收异常,DMA怎样处理较好?另外,为了通信可靠,是否每次DMA收发成功都重新配置其参数为好?

使用特权

评论回复
沙发
可爱的烧饼| | 2020-9-4 15:48 | 只看该作者
不用的,DMA设置一次就可以了,不用总是设置的。

使用特权

评论回复
板凳
xinzhaodadi|  楼主 | 2020-9-4 18:20 | 只看该作者
可爱的烧饼 发表于 2020-9-4 15:48
不用的,DMA设置一次就可以了,不用总是设置的。

我现在是多个串口同时收发工作,每个收发都单独对应一个通道,仿真时发现有个时候接收到的数据顺序不对,想的是重新配置DMA 相应通道,现在不知道怎样处理更好

使用特权

评论回复
地板
勇敢的大白菜| | 2020-9-6 07:42 | 只看该作者
重新配置,就是重新进行初始化即可,没有过多的要求。

使用特权

评论回复
5
huangcunxiake| | 2020-9-6 23:16 | 只看该作者
一次就行了。你也可以某些空闲后,或者休眠唤醒后重新配置。

使用特权

评论回复
6
别看我照片| | 2020-9-7 14:03 | 只看该作者
感谢楼主的分享,真的是受益匪浅的事情。不错,一直。

使用特权

评论回复
7
明天真的好| | 2020-9-7 16:04 | 只看该作者
其实只要一次重置就可以了,不用太多次的重置吧,我没有用过,不知道为什么?

使用特权

评论回复
8
xinzhaodadi|  楼主 | 2020-9-8 16:42 | 只看该作者
本帖最后由 xinzhaodadi 于 2020-9-8 16:52 编辑

源地址、目标地址(描述地址)、收发数据个数可不需要重新配置,但是,就传输(_dma_enable_transaction函数)和中断(_dma_set_irq_state函数),我现在的测试和应用的情况,是需要根据应用来重新开启或开关中断的。不知道大家的经验如何?
另外,向大家请教和学习,回调函数内可以执行多数据处理程序吗?还是像中断一样尽量放少的程序?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

106

帖子

1

粉丝