打印
[PIC®/AVR®/dsPIC®产品]

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

[复制链接]
394|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
pengf|  楼主 | 2022-12-3 13:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
今天在调试SAMD芯片串口,最开始采用异步传输模式,通信正常。想用DMA传输方式增强实时性,这时配置驱动时,个人的经历是不同的驱动程序执行是不一样的。不知道大家有遇到过这样的问题没?

使用特权

评论回复
沙发
happy_10| | 2022-12-3 13:15 | 只看该作者
比如说选择串口异步驱动,DMA传输完成后,在回调函数里面需要先关了中断,否则会一直进回调里面执行?

使用特权

评论回复
板凳
dengdc| | 2022-12-3 13:22 | 只看该作者
不会,如果用DMA去推UART的发送,那UART的发送中断是不需要的

使用特权

评论回复
地板
jiajs| | 2022-12-3 13:23 | 只看该作者
DMA也只需设成单次就好

使用特权

评论回复
5
juventus9554| | 2022-12-3 13:25 | 只看该作者
注意下大小端和字节对齐。

使用特权

评论回复
6
juventus9554| | 2022-12-3 13:27 | 只看该作者
如果是接收,开UART的RX  IDLE中断,接收空闲时结束DMA并重新配置以备下次接收。

使用特权

评论回复
7
dengdc| | 2022-12-3 13:29 | 只看该作者
可以用DMA,这样效率更高。

使用特权

评论回复
8
liliang9554| | 2022-12-3 13:30 | 只看该作者
DMA配置成单次模式就好了啊

使用特权

评论回复
9
abotomson| | 2023-1-5 10:20 | 只看该作者
dma传输的效果一般的。              

使用特权

评论回复
10
updownq| | 2023-1-6 16:05 | 只看该作者
都哪些芯片支持dma呢?              

使用特权

评论回复
11
robincotton| | 2023-1-6 20:33 | 只看该作者
如果使用dma,还可以使用串口中断的吗?

使用特权

评论回复
12
belindagraham| | 2023-1-6 21:02 | 只看该作者
如何确定dma要传输到的地址?              

使用特权

评论回复
13
juliestephen| | 2023-1-9 15:19 | 只看该作者
dma可以循环存储的吗?              

使用特权

评论回复
14
eefas| | 2023-1-12 12:56 | 只看该作者
串口不好用的吗?              

使用特权

评论回复
15
yorkbarney| | 2023-1-12 20:15 | 只看该作者
感觉还是使用串口好用的。              

使用特权

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

本版积分规则

718

主题

10129

帖子

3

粉丝