串口是否使用DMA传输,串口驱动的选择

[复制链接]
 楼主| xinzhaodadi 发表于 2021-6-28 17:24 | 显示全部楼层 |阅读模式
今天在调试SAMD芯片串口,最开始采用异步传输模式,通信正常。想用DMA传输方式增强实时性,这时配置驱动时,个人的经历是不同的驱动程序执行是不一样的。不知道大家有遇到过这样的问题没?
比如说选择串口异步驱动,DMA传输完成后,在回调函数里面需要先关了中断,否则会一直进回调里面执行?不知道大家也有遇到过这样的情况没?
yqdeso 发表于 2021-6-30 09:38 | 显示全部楼层
不会,如果用DMA去推UART的发送,那UART的发送中断是不需要的。DMA也只需设成单次就好。注意下大小端和字节对齐。

如果是接收,开UART的RX  IDLE中断,接收空闲时结束DMA并重新配置以备下次接收。
caigang13 发表于 2021-7-1 21:33 来自手机 | 显示全部楼层
可以用DMA,这样效率更高。
chenjun89 发表于 2021-7-3 08:28 来自手机 | 显示全部楼层
DMA配置成单次模式就好了啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

119

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部