[技术问答] 请教大家是否遇到过HC32F4A0示例DMA uart1发送结尾多一个0x00

[复制链接]
2241|27
 楼主| Edwardzq 发表于 2023-7-27 16:05 | 显示全部楼层 |阅读模式
求助,调试HC32F4A0,使用官方示例修改管脚后在HC32F4A0PGTB,DMA uart测试发送,前面数据可以正常发送,结尾每次多加一个0x00。大家是否有遇到类似现象?
wubangmi 发表于 2023-7-28 12:59 | 显示全部楼层
5163264c34b368e4be.png
我跑的例程,好像没有你说的这个问题
 楼主| Edwardzq 发表于 2023-7-31 09:56 | 显示全部楼层
wubangmi 发表于 2023-7-28 12:59
我跑的例程,好像没有你说的这个问题

您那边可以打开十六进制看下嘛,正好是个结束符00。

评论

传输起来好像倒是没大影响。。。但普通发送方式USART_WriteData按个数发送没事,比如发送5个就是5个,只有这个DMA开起来才这样。  发表于 2023-7-31 10:00
wubangmi 发表于 2023-7-31 10:14 | 显示全部楼层
Edwardzq 发表于 2023-7-31 09:56
您那边可以打开十六进制看下嘛,正好是个结束符00。

满足你的要求,用16进制发,16进制显示。
1690769591864.jpg
 楼主| Edwardzq 发表于 2023-7-31 10:20 | 显示全部楼层
wubangmi 发表于 2023-7-31 10:14
满足你的要求,用16进制发,16进制显示。

好的,谢谢您了,看来还是我这边自己的问题,我再研究研究
 楼主| Edwardzq 发表于 2023-7-31 11:04 | 显示全部楼层
TX端加了个上拉后,暂时测试正常。
woai32lala 发表于 2023-8-1 11:21 | 显示全部楼层
感觉不像硬件的问题,看看是不是配置
wubangmi 发表于 2023-8-1 11:33 | 显示全部楼层
Edwardzq 发表于 2023-7-31 11:04
TX端加了个上拉后,暂时测试正常。

UART的常规电路一般都是Tx端有上拉电阻,Rx端不加上拉电阻(这端的上拉电阻由对方的Tx端提供)。
juliestephen 发表于 2023-8-4 16:04 | 显示全部楼层
可能是因为DMA传输时没有正确设置传输长度
usysm 发表于 2023-8-4 16:11 | 显示全部楼层
DMA传输的数据长度可能被设置为比实际数据长度多一个字节
jackcat 发表于 2023-8-4 16:21 | 显示全部楼层
可能是由于数据传输过程中的某种错误导致的。
pixhw 发表于 2023-8-4 16:30 | 显示全部楼层
可以尝试在传输数据之前,手动添加一个0x00字节,以避免DMA自动填充特性导致的额外字节。
everyrobin 发表于 2023-8-4 16:39 | 显示全部楼层
可能是因为在发送数据时没有正确设置DMA控制器的参数,导致DMA在发送数据时自动在数据结尾添加了0x00。
mickit 发表于 2023-8-4 17:09 | 显示全部楼层
DMA传输长度的设置与实际发送的数据长度一致。
pl202 发表于 2023-8-4 17:25 | 显示全部楼层
检查DMA的配置是否正确,包括源地址、目标地址、传输方向等。
jonas222 发表于 2023-8-4 17:36 | 显示全部楼层
如果 DMA 没有正确处理字符串结束符,它可能会错误地将其作为有效数据一起发送。
vivilyly 发表于 2023-8-4 18:12 | 显示全部楼层
手动添加0x00作为结尾。              
plsbackup 发表于 2023-8-4 18:40 | 显示全部楼层
传输的数据长度比实际数据长度多一个字节
jackcat 发表于 2023-8-4 19:52 | 显示全部楼层
如果待发送的数据是字符串,确保 DMA 在传输数据时正确处理字符串结束符,而不将其作为有效数据一同发送。
wilhelmina2 发表于 2023-8-4 20:10 | 显示全部楼层
DMA 配置中的数据传输长度可能被设置为比实际发送数据多一个字节的长度。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

8

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部