- 主题:USB转串口的问题如何debug?
rt,单片机裸机,有个FS的USB接口,用厂家提供的库往vofa上位机吐数据,bulk传输。
发现隔一会儿就不吐数了,时间不定。
抓了下DP,DM的数据,SOF这类还有,USB还活着,就是没有bulk传输了。
如之奈何?
--
FROM 183.192.28.*
看了下描述,VCP的。有啥已知问题吗?
【 在 Oriphia 的大作中提到: 】
: 你看下mcu是不是usb cdc模式,是的话挂一颗2102别直出
:
: #发自zSMTH@LYA-AL00
--
FROM 183.192.28.*
抛开CDC不谈,求问如何debug USB转串口。就会调个库的前提下。
【 在 tom6bj 的大作中提到: 】
: 嗯, cdc调通容易,稳定可靠工作还是挺考验水平的
:
--
FROM 183.192.28.*
哭了。。。刚花了好几百块钱买了个抓USB协议的分析仪准备大干一场的。
【 在 tom6bj 的大作中提到: 】
: 不好办,挺折腾的,你还是用cp210x或者ch340之类转接吧
: 抛开CDC不谈,求问如何debug USB转串口。就会调个库的前提下。
: :
--
FROM 183.192.28.*
瞎猫碰上死耗子,稍微有点眉目了:可能是有MULTIPLE CALL TO FUNCTION告警,多次调用函数的问题。
现象是:
在while主循环中调用USB输出,就会很容易出现串口不输出的问题。
改到中断函数里调用USB输出,就都没有出现问题了。中断函数用定时器中断,现在1秒钟打2K*16byte都没问题,以前一秒钟打几十个16byte,过一会儿都会无输出。
看逻辑分析仪抓的数据,除了代码里调用的USB输出函数输出的内容外,还有周期性的输出到其它端点的固定内容,应该是库里面包含的保持USB活着的操作。估计就是这两个输出有冲突导致的。
但是这个对本青这种调库工程师,平时就用百度AI抄点代码的,要继续debug,就狗咬刺猬无从下口了。已经冷落在那边好久没碰了。如之奈何?
【 在 nosnap 的大作中提到: 】
: 搞几个io toggle 一下
: 关键地方放几处就行了
: 发自「今日水木 on iPhone 8 Plus」
--
修改:nlgdczm FROM 58.246.155.*
FROM 58.246.155.*
本青就会点51,而且只会增删点啥的。
乐鑫的在看了在看了。。。那个什么立创xx派都买了。那个io看起来是是增加了一级mux,把能复用的低速io增加了。io除了这个以外还有啥特色吗?
【 在 Oriphia 的大作中提到: 】
: 好古老的方法,你可以看看esp-idf是怎么实现的,现在esp32-3的片上封装n8r8只要20一片了,他那个机制能在160MHz工频下监听全部43个gpio上的所有外设,很牛逼的,而且那个io配置方式实在太友好。
:
: #发自zSMTH@LYA-AL00
--
FROM 183.192.30.*