【AI技术支持】USB_CDC电脑串口一次性发送100000byte丢包问题处理

描述


启明云端/ 01

 

你是否曾遇到过?

在使用ESP32-S3,ESP-IDF版本为idf 5.2时,蒸汽锅产品基于例程tusb_serial_device测试USB CDC自发自收,电脑CDC串口一次性发送100000byte,收回数据不完整,出现丢数据的现象,这是为什么呢?

 

启明云端/ 02

 

这是咋回事呢?
 

基于例程复现,用杜邦线接到D- D+,电脑通过串口工具一次性发送100000byte左右数据,接收数据不完整,成功复现问题。


 

通过日志分析,发现打印任务长时间占用CPU触发看门狗报错。


 

ESP32

 

启明云端/ 03

 

这时该咋整?

(1)通过menuconfig将cdc的tx rx buffer都开大,默认是从64可以开到1024或者更大。 

(2)将打印去除,或者单独开个task去打印,保证callback的快进快出。

ESP32

解决方案测试验证结果:成功接收了完整的数据。

ESP32

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分