串口用DMA方式

2019-08-19 16:30发布

串口用DMA方式读取到一个数组里,持续读取,如果数组满了,之后串口的数据会怎么处理?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
18条回答
oyixi001
1楼-- · 2019-08-19 22:29
 精彩回答 2  元偷偷看……
小陀螺爱炒蛋
2楼-- · 2019-08-20 00:04
什么意思?你是说DMA搬数据超过了接受数组的长度吗?
Sun_Fly
3楼-- · 2019-08-20 00:12
小陀螺爱炒蛋 发表于 2017-5-8 16:36
什么意思?你是说DMA搬数据超过了接受数组的长度吗?

DMA开了通道,一直从串口取数据,存到固定数组里面,数组长度10,一直接收数据,后来接收的数据是覆盖,还是泄漏
小陀螺爱炒蛋
4楼-- · 2019-08-20 02:23
Sun_Fly 发表于 2017-5-8 16:40
DMA开了通道,一直从串口取数据,存到固定数组里面,数组长度10,一直接收数据,后来接收的数据是覆盖, ...

应该是泄露,然后上访fault中断,不过也得看ST 是怎么设计的,你写个代码测试下就知道了
loudianxin
5楼-- · 2019-08-20 06:25
会触发DMA接收中断   如果没有开启中断会导致DMA无法接受数据,程序不会死掉
Sun_Fly
6楼-- · 2019-08-20 10:51
 精彩回答 2  元偷偷看……

一周热门 更多>