乐鑫技术交流
直播中

哥儿

8年用户 907经验值
擅长:嵌入式技术
私信 关注
[问答]

EPS32-C3使用USB串口收发数据,在发送长度为64的数据时,上位机串口工具无法接收到数据怎么解决?

EPS32-C3
使用USB串口收发数据
结果发现使用int usb_serial_jtag_write_bytes(const void* src, size_t size, tickType_t ticks_to_wait)函数
在发送长度为64的数据时,上位机串口工具无法接收到数据,
然后再发送非64长度的数据时,串口工具会一起收到两次发送的数据,
数据没丢,但是只写64字节的数据无法在串口工具上立即接收到,
这是bug吗?
还是有什么办法可以解决?

回帖(1)

klysa

2024-6-6 18:13:12
这个问题可能是由于USB串口驱动程序的缓冲区管理或者数据传输方式引起的。以下是一些建议来解决这个问题:

1. 检查驱动程序:确保您的计算机上安装了正确的驱动程序,以支持ESP32-C3的USB串口通信。如果可能,请尝试更新或重新安装驱动程序。

2. 检查串口工具设置:检查您的串口工具设置,确保波特率、数据位、停止位和奇偶校验位与ESP32-C3的设置相匹配。

3. 调整缓冲区大小:尝试调整ESP32-C3的发送和接收缓冲区大小,以查看是否解决了问题。这可以通过修改ESP32-C3的固件来实现。

4. 使用流控制:如果可能,尝试使用硬件或软件流控制(如XON/XOFF或RTS/CTS)来管理数据传输。这可以帮助确保数据在发送和接收时保持同步。

5. 检查固件代码:检查您的ESP32-C3固件代码,确保在发送数据时没有错误或问题。特别是检查`usb_serial_jtag_write_bytes`函数的使用,确保正确处理了发送数据的大小和超时。

6. 尝试其他串口工具:尝试使用不同的串口工具,以排除问题是否与特定串口工具有关。


举报

更多回帖

发帖
×
20
完善资料,
赚取积分