uart-2byte 发表于 2024-2-17 10:38

GD32F305 串口少发2个字节

本帖最后由 uart-2byte 于 2024-2-17 10:40 编辑

GD32F305 串口,中断发送数据包时,最后2个字节末发出来

shenxiaolin 发表于 2024-2-18 13:54

每个字节发送了需要对发送完成状态进行判断。

DNF557 发表于 2024-2-18 16:31

楼上大佬正解。。发送一共有2个状态位,都用用起来

两只袜子 发表于 2024-2-18 17:17

如果您的系统中使用了嵌套中断,并且中断优先级配置不当,可能会导致串口发送中断未能及时响应。

jcky001 发表于 2024-2-18 17:17

可能是发送缓冲区问题

cr315 发表于 2024-2-18 17:18

硬件连接问题或者串口配置问题

ex7s4 发表于 2024-3-27 12:12

当在GD32F305上使用串口中断发送数据时,最后两个字节未能发送出去可能是中断处理有问题吧

y1n9an 发表于 2024-3-27 13:18

如果发送缓冲区大小有限,可能会发生溢出导致最后两个字节未能发送出去。在中断发送数据时,需要检查发送缓冲区是否已满,如果满了则需要等待直到有空间再继续发送

tax2r6c 发表于 2024-3-27 14:22

串口时钟设置不正确可能导致数据发送不完整。确保串口时钟设置正确,以满足所需的波特率和数据传输要求

kaif2n9j 发表于 2024-3-27 15:36

如果有其他中断干扰了串口发送中断,可能会导致最后两个字节未能发送出去。确保串口发送中断的优先级设置正确,以确保及时处理串口发送中断

l1uyn9b 发表于 2024-3-27 16:30

在极少数情况下,硬件问题可能导致串口发送不完整。检查串口相关的硬件连接和引脚配置,确保没有硬件问题

su1yirg 发表于 2024-3-27 17:24

在调试过程中,可以使用调试工具(如逻辑分析仪)来观察串口发送中断的触发情况和数据发送情况,以帮助定位问题所在

b5z1giu 发表于 2024-3-28 07:48

其实你可以使用仿真的方式看看程序如何执行的,估计是中断的问题

lix1yr 发表于 2024-3-28 09:01

在串口发送中断处理函数中,可能存在未完整处理最后两个字节的情况。确保中断处理函数能够正确处理剩余的数据并发送出去

g0d5xs 发表于 2024-3-28 10:14

官方没有例程吗?你按照例程上面进行修改多好

suw12q 发表于 2024-3-28 12:04

感觉有点像干扰呢,但是干扰一般都是随机丢数据,你这个还挺规律

菜鸟的第一步 发表于 2024-3-28 13:22

应该是判断发送完整时间不对

shenxiaolin 发表于 2024-4-30 16:15

每个字节发送了需要对发送完成状态进行判断。
页: [1]
查看完整版本: GD32F305 串口少发2个字节