啟明云端/01
你是否曾遇到過(guò)?
在使用ESP32-S3,ESP-IDF版本為idf 5.2時(shí),蒸汽鍋產(chǎn)品基于例程tusb_serial_device測(cè)試USB CDC自發(fā)自收,電腦CDC串口一次性發(fā)送100000byte,收回?cái)?shù)據(jù)不完整,出現(xiàn)丟數(shù)據(jù)的現(xiàn)象,這是為什么呢?
啟明云端/02
這是咋回事呢?
基于例程復(fù)現(xiàn),用杜邦線接到D- D+,電腦通過(guò)串口工具一次性發(fā)送100000byte左右數(shù)據(jù),接收數(shù)據(jù)不完整,成功復(fù)現(xiàn)問(wèn)題。
通過(guò)日志分析,發(fā)現(xiàn)打印任務(wù)長(zhǎng)時(shí)間占用CPU觸發(fā)看門(mén)狗報(bào)錯(cuò)。

啟明云端/03
這時(shí)該咋整?
(1)通過(guò)menuconfig將cdc的tx rx buffer都開(kāi)大,默認(rèn)是從64可以開(kāi)到1024或者更大。
(2)將打印去除,或者單獨(dú)開(kāi)個(gè)task去打印,保證callback的快進(jìn)快出。

解決方案測(cè)試驗(yàn)證結(jié)果:成功接收了完整的數(shù)據(jù)。

-
usb
+關(guān)注
關(guān)注
60文章
8413瀏覽量
282981 -
AI
+關(guān)注
關(guān)注
91文章
39117瀏覽量
299707 -
ESP32
+關(guān)注
關(guān)注
25文章
1122瀏覽量
21103
發(fā)布評(píng)論請(qǐng)先 登錄
STM32 USB CDC為什么只能發(fā)送4096個(gè)字節(jié)?
單片機(jī)通過(guò)串口怎樣一次性接收幾百KB的數(shù)據(jù)?
各種一次性胃鏡咬口
如何將一個(gè)16進(jìn)制的數(shù)組一次性發(fā)到串口處來(lái)?
UCOS III FreeModbus丟包基本都在0.99
STM32 USB_CDC該如何去配置
如何一次性將STM32接收的字符串通過(guò)串口1返回給電腦呢
請(qǐng)問(wèn)CH342F有什么辦法可以一次性測(cè)量到8個(gè)信號(hào)線嗎?
淺談一次性醫(yī)療連接器常用的4種接觸互連技術(shù)
一次性口罩機(jī)開(kāi)源項(xiàng)目
ShockBIT一次性電子設(shè)備開(kāi)源分享
一次性無(wú)菌注射針針尖韌性測(cè)試儀
一次性使用麻醉穿刺包流動(dòng)流量試驗(yàn)方法YY0321.1-2009
【AI技術(shù)支持】USB_CDC電腦串口一次性發(fā)送100000byte丟包問(wèn)題處理
評(píng)論