硬汉嵌入式论坛

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

[UART] stm32h7, uart+idle+dma接收超过64字节出现错误,Dcache已关闭。

[复制链接]

1

主题

3

回帖

6

积分

新手上路

积分
6
发表于 2023-7-30 21:09:43 | 显示全部楼层 |阅读模式
stm32h7, uart+idle+dma接收超过64字节出现错误,Dcache已关闭。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
发表于 2023-7-31 08:45:54 | 显示全部楼层
参考坛友这个修改下试试,

STM32H7基于STM32CubeMX的串口DMA+空闲中断接收不定长数据实现(HAL库1.9.0自带函数实现)
https://www.armbbs.cn/forum.php? ... 8553&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

2

主题

269

回帖

275

积分

高级会员

积分
275
发表于 2023-7-31 10:02:37 | 显示全部楼层
空闲中断发送端必须连续,不然你用循环接收好点.
回复

使用道具 举报

1

主题

3

回帖

6

积分

新手上路

积分
6
 楼主| 发表于 2023-8-1 09:18:52 | 显示全部楼层
eric2013 发表于 2023-7-31 08:45
参考坛友这个修改下试试,

STM32H7基于STM32CubeMX的串口DMA+空闲中断接收不定长数据实现(HAL库1.9.0自 ...

这个方法已经试过了,还是超过64个字节就不行了,例如65个,就只能接收到1个了
回复

使用道具 举报

1

主题

3

回帖

6

积分

新手上路

积分
6
 楼主| 发表于 2023-8-1 09:20:27 | 显示全部楼层
cctv180 发表于 2023-7-31 10:02
空闲中断发送端必须连续,不然你用循环接收好点.

发送端是连续的,你说的循环模式接收具体怎么配置?
回复

使用道具 举报

1

主题

3

回帖

6

积分

新手上路

积分
6
 楼主| 发表于 2023-8-1 10:13:38 | 显示全部楼层
解决啦,发现是因为两路串口连续发送,导致第一路接收时数据不完整。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-28 06:24 , Processed in 0.200396 second(s), 26 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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