请教大家是否遇到过HC32F4A0示例DMA uart1发送结尾多一个0x00
求助,调试HC32F4A0,使用官方示例修改管脚后在HC32F4A0PGTB,DMA uart测试发送,前面数据可以正常发送,结尾每次多加一个0x00。大家是否有遇到类似现象?我跑的例程,好像没有你说的这个问题 wubangmi 发表于 2023-7-28 12:59
我跑的例程,好像没有你说的这个问题
您那边可以打开十六进制看下嘛,正好是个结束符00。 Edwardzq 发表于 2023-7-31 09:56
您那边可以打开十六进制看下嘛,正好是个结束符00。
满足你的要求,用16进制发,16进制显示。
wubangmi 发表于 2023-7-31 10:14
满足你的要求,用16进制发,16进制显示。
好的,谢谢您了,看来还是我这边自己的问题,我再研究研究 TX端加了个上拉后,暂时测试正常。 感觉不像硬件的问题,看看是不是配置 Edwardzq 发表于 2023-7-31 11:04
TX端加了个上拉后,暂时测试正常。
UART的常规电路一般都是Tx端有上拉电阻,Rx端不加上拉电阻(这端的上拉电阻由对方的Tx端提供)。 可能是因为DMA传输时没有正确设置传输长度 DMA传输的数据长度可能被设置为比实际数据长度多一个字节 可能是由于数据传输过程中的某种错误导致的。 可以尝试在传输数据之前,手动添加一个0x00字节,以避免DMA自动填充特性导致的额外字节。 可能是因为在发送数据时没有正确设置DMA控制器的参数,导致DMA在发送数据时自动在数据结尾添加了0x00。 DMA传输长度的设置与实际发送的数据长度一致。 检查DMA的配置是否正确,包括源地址、目标地址、传输方向等。 如果 DMA 没有正确处理字符串结束符,它可能会错误地将其作为有效数据一起发送。 手动添加0x00作为结尾。 传输的数据长度比实际数据长度多一个字节 如果待发送的数据是字符串,确保 DMA 在传输数据时正确处理字符串结束符,而不将其作为有效数据一同发送。 DMA 配置中的数据传输长度可能被设置为比实际发送数据多一个字节的长度。
页:
[1]
2