STM32
登录
直播中
李秀兰
8年用户
1538经验值
私信
关注
[问答]
求助,关于STM32F107RCT的USART3的DMA接收问题求解
开启该帖子的消息推送
STM32F107
dma
以下测试都是在目前最新版CubeMX+F1xx支持包生成代码下进行。
问题描述:
使用usart3,rx设置dma收入,circular模式,一次dma收取128Byte,到一个静态uint8_t bufA[128];
然后在RxCplt和RxIdle中断里面进行处理
RxCplt里直接把128B数据拷入一个ringbuffer,rxidle把不足128B的数据考入
发现:如果收入字节超过128Byte,则第一次进入RxCplt中断的时候,正确情况应该是收到128B后立刻进入此中断
实际上是bufA的数据被128B之后的数据从头循环覆盖了一部分。。。
但是,如果bufA设置为比较小的长度,比如32,一次也只从dma收取32byte,则没有这个问题。。
其他usart暂时没试。
回帖
(2)
周蕊
2024-4-10 16:41:38
估计128接受时间太长了,导致进入了下一个:circular周期。
估计128接受时间太长了,导致进入了下一个:circular周期。
举报
石天才
2024-4-10 16:41:46
降低串口波特率试试。从描述发生覆盖的情形看,软件似乎处理慢了许多,导致后面继续在办数据。当然,在DMA完成中断触发信号看看,和串口发送后是否有很大的延迟
降低串口波特率试试。从描述发生覆盖的情形看,软件似乎处理慢了许多,导致后面继续在办数据。当然,在DMA完成中断触发信号看看,和串口发送后是否有很大的延迟
举报
更多回帖
rotate(-90deg);
回复
相关问答
STM32F107
dma
STM32F
103的
USART3
串口
DMA
接收
缓冲区发生错误的原因
2021-12-09
2313
如何去实现
STM32F
103的
USART3
使用
DMA
模块的程序代码
2021-12-13
1812
如何将
DMA
分配给
STM32
MP1上的
USART3
通道呢
2022-12-21
450
USART
串口问题,怎么使用
USART3
啊?
2017-04-12
9834
STM32F
103VET6的SPI2和
USART3
2021-05-17
3630
如何去实现
STM32F
407ZGT6的
USART3
驱动呢
2021-12-07
1980
为什么
DMA
不能在
USART3
上工作呢
2022-12-22
340
带有
DMA
的
STM32F
103ZET6
USART
在调试与复位运行方面表现不同
2018-09-26
1994
stm32
l4r5的
usart3
接收
不成功,帮忙看看!!谢谢!!
2021-09-29
5597
如何利用
STM32F103RCT
6+串口
DMA
方式去
接收
定长数据呢
2021-12-08
656
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
首页
论坛版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分