硬汉嵌入式论坛

 找回密码
 立即注册
查看: 355|回复: 2
收起左侧

[UART] 串口DMA接收超长指令之后无法再次接收

[复制链接]

29

主题

62

回帖

149

积分

初级会员

积分
149
发表于 2023-5-24 15:29:16 | 显示全部楼层 |阅读模式
使用串口DMA的例程,当按照约定长度发送给单片机时没有问题,但是当收到一条长度超过所设的长度比较多之后,串口就再也无法正常接收,是哪里有问题吗?
回复

使用道具 举报

29

主题

62

回帖

149

积分

初级会员

积分
149
 楼主| 发表于 2023-5-24 16:24:51 | 显示全部楼层
/* CPU访问前,将Cache对应的区域无效化 */
SCB_InvalidateDCache_by_Addr
这个把size做大点,已可以再次接收
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
发表于 2023-5-24 17:11:20 | 显示全部楼层
这个最好的办法还是缓冲加大一些,最起码可以接受一帧数据。其它的方式也升不了多大的DMA缓冲,然后配合串口空闲中断使用。
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-28 11:38 , Processed in 0.179328 second(s), 26 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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