Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

屏幕花屏,USB通信不显示画面的解决办法 #122

Open
li460135301 opened this issue Mar 31, 2022 · 69 comments
Open

屏幕花屏,USB通信不显示画面的解决办法 #122

li460135301 opened this issue Mar 31, 2022 · 69 comments

Comments

@li460135301
Copy link

程序测试的时候发现屏幕初始化后花屏,而且程序卡在45行,electron.SendUsbPacket函数,返回值一直USBD_BUSY。感觉是硬件问题,但是USB3300我换过,屏幕也换过!问题一样!
显示效果如下:
程序无法继续
屏幕花屏

硬件测试了,没有测试出问题啊!,这个情况一般是什么问题导致?

@peng-zhihui
Copy link
Owner

驱动可能没装好

@peng-zhihui
Copy link
Owner

另外检查R16的1M电阻是否焊接正确

@li460135301
Copy link
Author

驱动可能没装好

电阻测试1M是正常的,驱动没有安装会导致花屏吗?关键是电脑都没有弹出任何设备接入,设备管理器里面只有一个CP2102的USB串口,没有其他未安装驱动的设备,也就是根本没有检测到USB设备接入!非常感谢!

@peng-zhihui
Copy link
Owner

没有发送数据上电就是花屏啊,设备管理器里正常是会出现一个新设备需要按照README里面说的安装仓库的驱动才行

@li460135301
Copy link
Author

没有发送数据上电就是花屏啊,设备管理器里正常是会出现一个新设备需要按照README里面说的安装仓库的驱动才行

后来有显示驱动了,但是我已经禁用了系统强制驱动签名了(通过高级模式,按7禁用系统强制驱动签名),但是驱动还是安装失败,不管怎么样驱动都无法安装成功,不知道和系统版本是否有关,我的系统版本是win1021H1 专业版
禁用强制签名效果
驱动安装失败

@peng-zhihui
Copy link
Owner

跟系统没关系,就是导航到驱动文件夹就就可以安装啊,你指的安装失败是提示的啥

@txp666
Copy link

txp666 commented Apr 1, 2022

image
我的也一样!你的弄好了吗

@simasure
Copy link

simasure commented Apr 1, 2022

可以分享一下编译好的HEX文件吗

@yangxiaofeng5
Copy link

可以分享一下编译好的HEX文件吗

同求,我的屏幕都没亮,想借用你的hex文件排除一下问题

@wenFrankieeee
Copy link

装好了驱动,设备管理器上能看到ELECTRONBOT, 一样也是花屏。 R16电阻无误

@peng-zhihui
Copy link
Owner

我晚点更新一个单独的屏幕测试程序吧

@coolflyreg
Copy link

coolflyreg commented Apr 5, 2022

装好了驱动,设备管理器上能看到ELECTRONBOT, 一样也是花屏。 R16电阻无误

花屏不是问题,那是因为初始化,内存里的噪点。我现在虽然把屏幕初始化的时候,用颜色清了屏幕,不是噪点了,但是

  • 主控板卡在:electron.SendUsbPacket(electron.usbBuffer.extraDataTx, 32);
  • ElectronBotSDK-LowLevel里的Sample卡在:_obj->ReceivePacket(reinterpret_cast<uint8_t*>(_obj->extraDataBufferRx), 1, 32);

我是Mac系统,在USB串口里,能看到ElectronBot@PZH,并且能识别到480Mb/s,/dev/ 下也有对应设备。我把舵机的I2C传输屏蔽了,现在就是无法传输USB数据。。。

image

image

@peng-zhihui
Copy link
Owner

peng-zhihui commented Apr 5, 2022

我更新了测试程序,不过是Windows下的,可以试一试,见README说明

@wenFrankieeee
Copy link

我更新了测试程序,不过是Windows下的,可以试一试,见README说明

QQ图片20220405174105
大佬,显示少几个dll,下载放在相应系统文件夹下后,运行sample 无法运行。是少了什么吗,谢谢

@CWEIB
Copy link

CWEIB commented Apr 5, 2022

装好了驱动,设备管理器上能看到ELECTRONBOT, 一样也是花屏。 R16电阻无误

花屏不是问题,那是因为初始化,内存里的噪点。我现在虽然把屏幕初始化的时候,用颜色清了屏幕,不是噪点了,但是

  • 主控板卡在:electron.SendUsbPacket(electron.usbBuffer.extraDataTx, 32);
  • ElectronBotSDK-LowLevel里的Sample卡在:_obj->ReceivePacket(reinterpret_cast<uint8_t*>(_obj->extraDataBufferRx), 1, 32);

我是Mac系统,在USB串口里,能看到ElectronBot@PZH,并且能识别到480Mb/s,/dev/ 下也有对应设备。我把舵机的I2C传输屏蔽了,现在就是无法传输USB数据。。。

image image

Windows下情况也和你一样,都开始怀疑买的24mhz的晶振是否有问题了
屏幕截图 2022-04-05 182307

@peng-zhihui
Copy link
Owner

我更新了测试程序,不过是Windows下的,可以试一试,见README说明

QQ图片20220405174105 大佬,显示少几个dll,下载放在相应系统文件夹下后,运行sample 无法运行。是少了什么吗,谢谢

DLL在文件夹里都提供了,不需要单独放到系统文件夹,确认一下你的操作系统是64位的?DLL下载可能不完整,重新下载一下仓库

@peng-zhihui
Copy link
Owner

装好了驱动,设备管理器上能看到ELECTRONBOT, 一样也是花屏。 R16电阻无误

花屏不是问题,那是因为初始化,内存里的噪点。我现在虽然把屏幕初始化的时候,用颜色清了屏幕,不是噪点了,但是

  • 主控板卡在:electron.SendUsbPacket(electron.usbBuffer.extraDataTx, 32);
  • ElectronBotSDK-LowLevel里的Sample卡在:_obj->ReceivePacket(reinterpret_cast<uint8_t*>(_obj->extraDataBufferRx), 1, 32);

我是Mac系统,在USB串口里,能看到ElectronBot@PZH,并且能识别到480Mb/s,/dev/ 下也有对应设备。我把舵机的I2C传输屏蔽了,现在就是无法传输USB数据。。。
image
image

Windows下情况也和你一样,都开始怀疑买的24mhz的晶振是否有问题了 屏幕截图 2022-04-05 182307

用我新发的测试程序测试一下

@wenFrankieeee
Copy link

我更新了测试程序,不过是Windows下的,可以试一试,见README说明

QQ图片20220405174105 大佬,显示少几个dll,下载放在相应系统文件夹下后,运行sample 无法运行。是少了什么吗,谢谢

DLL在文件夹里都提供了,不需要单独放到系统文件夹,确认一下你的操作系统是64位的?DLL下载可能不完整,重新下载一下仓库

大佬,一开始缺少的是 vcruntime dll,是要放到system32文件夹里的,我的是64位 win10,刚重新下了一遍仓库,确认完整,故障依旧。另外,我还装了一遍opencv 库

@coolflyreg
Copy link

coolflyreg commented Apr 5, 2022

以下方法适合明确知道自己在干什么的小伙伴使用,不清楚自己在干什么的小伙伴,不要看到这里就立刻动手。参考后面的这一条 #122 (comment)

对于Windows上驱动装不上的同学,参考以下方法:

然后我的问题还是依旧,感觉不是软件方面的问题了。还是硬件哪里有问题了

下图是用稚晖君发布的固件
image

我自己改后打印信息的固件和之前发的图一样。

@txp666
Copy link

txp666 commented Apr 5, 2022

对于Windows上驱动装不上的同学,参考以下方法:

然后我的问题还是依旧,感觉不是软件方面的问题了。还是硬件哪里有问题了

下图是用稚晖君发布的固件 image

我自己改后打印信息的固件和之前发的图一样。

这样装驱动我也试了,打开sample.exe显示connected和你一样 然后就闪退了,屏幕也没有显示

@peng-zhihui
Copy link
Owner

peng-zhihui commented Apr 5, 2022

那你们应该是USB3300 PHY电路有点问题,确认一下板子的焊接,我最开始遇到类似的情况经检查是晶振的1M电阻引起的。
不过既然设备管理器能枚举出来说明应该也没啥问题啊,而且看你们的图设备连接也是正常的,你们看看PID和VID是否正常(0x8023和0x1001)

@coolflyreg
Copy link

那你们应该是USB3300 PHY电路有点问题,确认一下板子的焊接,我最开始遇到类似的情况经检查是晶振的1M电阻引起的。 不过既然设备管理器能枚举出来说明应该也没啥问题啊,而且看你们的图设备连接也是正常的,你们看看PID和VID是否正常(0x8023和0x1001)

看起来应该是这样,虽然不工作,没想到这样竟然也能识别 (。 ́︿ ̀。)。 PID和VID是正常的,我的能连上,但是不能发数据。
image

@peng-zhihui
Copy link
Owner

有调试环境的话,在固件的CDC_Receive_HS函数里打个断点,看能不能接收到主机发来的USB数据包

@coolflyreg
Copy link

coolflyreg commented Apr 5, 2022

有调试环境的话,在固件的CDC_Receive_HS函数里打个断点,看能不能接收到主机发来的USB数据包

恐怕还没到主机发送数据的地步。我在mac上打断电给LowLevel的Sample,发现卡在ElectronLowLevel::SyncTask里的第一个ReceivePacket从机的32字节的位置,返回结果总是 -2。打印的是-2,实际打断点,是uint32的4294967294

@peng-zhihui
Copy link
Owner

那我还是怀疑是驱动安装的问题...设备管理器卸载了设备(勾选卸载驱动)然后按我仓库的说明重新安装一遍我提供的驱动?此外测试的时候最好是拔了USB线重新插一下再运行电脑上的软件,避免出现奇怪的问题

@coolflyreg
Copy link

coolflyreg commented Apr 5, 2022

那我还是怀疑是驱动安装的问题...设备管理器卸载了设备(勾选卸载驱动)然后按我仓库的说明重新安装一遍我提供的驱动?此外测试的时候最好是拔了USB线重新插一下再运行电脑上的软件,避免出现奇怪的问题

请问下,为什么 ElectronBot.inf 里的 DeviceId 是 VID_0483&PID_5740,[email protected] 里的是 VID_1001&PID_8023?

一个不同的小细节:
我用libusb-win32的驱动安装包,识别出来的DeviceId是 VID_1001&PID_8023&MI_00 和 VID_1001&PID_8023&MI_01。

@wenFrankieeee
Copy link

我运行sample 一直 0xc000007b 报错,无法运行。

@peng-zhihui
Copy link
Owner

我运行sample 一直 0xc000007b 报错,无法运行。

百度一下,安装系统缺少的DLL

@peng-zhihui
Copy link
Owner

那我还是怀疑是驱动安装的问题...设备管理器卸载了设备(勾选卸载驱动)然后按我仓库的说明重新安装一遍我提供的驱动?此外测试的时候最好是拔了USB线重新插一下再运行电脑上的软件,避免出现奇怪的问题

请问下,为什么 ElectronBot.inf 里的 DeviceId 是 VID_0483&PID_5740,[email protected] 里的是 VID_1001&PID_8023?

一个不同的小细节: 我用libusb-win32的驱动安装包,识别出来的DeviceId是 VID_1001&PID_8023&MI_00 和 VID_1001&PID_8023&MI_01。

前者是多余的,安装驱动的时候会匹配后者,正常安装就行

@CWEIB
Copy link

CWEIB commented Apr 5, 2022

对于Windows上驱动装不上的同学,参考以下方法:

然后我的问题还是依旧,感觉不是软件方面的问题了。还是硬件哪里有问题了
下图是用稚晖君发布的固件 image
我自己改后打印信息的固件和之前发的图一样。

这样装驱动我也试了,打开sample.exe显示connected和你一样 然后就闪退了,屏幕也没有显示

测试过也一样出现这种情况
屏幕截图 2022-04-05 225916

@peng-zhihui
Copy link
Owner

好吧,我提交一个补丁把默认描述符修改一下~

@peng-zhihui
Copy link
Owner

调试过程有其他优化或者简化调试的工具也欢迎提交pr

@peng-zhihui peng-zhihui changed the title 屏幕花屏,且程序卡在electron.SendUsbPacket处,一直返回USBD_BUSY,有碰到这个情况的吗? 屏幕花屏,USB通信不显示画面的解决办法 Apr 6, 2022
@coolflyreg
Copy link

目前我在mac上还不成功。。。真是奇怪。初步估计,用的libusb的版本不对。

@regestday
Copy link

我运行sample 一直 0xc000007b 报错,无法运行。

老兄你这个问题解决了吗? 我安装了各种运行库也无济于事

@mcu666
Copy link

mcu666 commented Apr 9, 2022

我运行sample 一直 0xc000007b 报错,无法运行。

老兄你这个问题解决了吗? 我安装了各种运行库也无济于事

我也没有解决,缺失的dll都装了,用工具扫了一下发现有两个dll不对,目前还没有搞好
image
Dependencies.zip
你们可以也用这工具扫一下看看,打开之后把sample.exe拖进去就行,另外这工具不支持WinXP

@regestday
Copy link

我运行sample 一直 0xc000007b 报错,无法运行。

老兄你这个问题解决了吗? 我安装了各种运行库也无济于事

我也没有解决,缺失的dll都装了,用工具扫了一下发现有两个dll不对,目前还没有搞好 image Dependencies.zip 你们可以也用这工具扫一下看看,打开之后把sample.exe拖进去就行,另外这工具不支持WinXP

伙计 我搞定了 我本来在win7下 安装了各种运行库 都要崩溃了 你这个工具我也试过了。PE文件结构都快被拆了,我也看了PE导入表信息,然后我直接装了VS2022 就不报错了 然后出现提示 读娶不到happy. 我换了台win10 一样安装了VS2022 正常了。具体原因不祥

@mcu666
Copy link

mcu666 commented Apr 9, 2022

我运行sample 一直 0xc000007b 报错,无法运行。

老兄你这个问题解决了吗? 我安装了各种运行库也无济于事

我也没有解决,缺失的dll都装了,用工具扫了一下发现有两个dll不对,目前还没有搞好 image Dependencies.zip 你们可以也用这工具扫一下看看,打开之后把sample.exe拖进去就行,另外这工具不支持WinXP

伙计 我搞定了 我本来在win7下 安装了各种运行库 都要崩溃了 你这个工具我也试过了。PE文件结构都快被拆了,我也看了PE导入表信息,然后我直接装了VS2022 就不报错了 然后出现提示 读娶不到happy. 我换了台win10 一样安装了VS2022 正常了。具体原因不祥

可能是因为咱们自己安装的dll版本问题,然后vs2022用正确的dll给覆盖了,等我装个vs试试

@mcu666
Copy link

mcu666 commented Apr 10, 2022

我运行sample 一直 0xc000007b 报错,无法运行。

老兄你这个问题解决了吗? 我安装了各种运行库也无济于事

我也没有解决,缺失的dll都装了,用工具扫了一下发现有两个dll不对,目前还没有搞好 image Dependencies.zip 你们可以也用这工具扫一下看看,打开之后把sample.exe拖进去就行,另外这工具不支持WinXP

伙计 我搞定了 我本来在win7下 安装了各种运行库 都要崩溃了 你这个工具我也试过了。PE文件结构都快被拆了,我也看了PE导入表信息,然后我直接装了VS2022 就不报错了 然后出现提示 读娶不到happy. 我换了台win10 一样安装了VS2022 正常了。具体原因不祥

我安装了VS2022 Community版本,勾选了“使用C++的桌面开发”,然后用Dependencies又扫了一遍,昨天报问号的两个dll都正常了应该,然后重启电脑打开sample.exe,提示缺失hdf5.dll和zlib.dll,下载后重启电脑打开sample.exe依旧提示0xc000007b。不知你VS2022是哪个版本,安装时勾选了哪些开发包?
image
image

@mcu666
Copy link

mcu666 commented Apr 10, 2022

我运行sample 一直 0xc000007b 报错,无法运行。

老兄你这个问题解决了吗? 我安装了各种运行库也无济于事

我也没有解决,缺失的dll都装了,用工具扫了一下发现有两个dll不对,目前还没有搞好 image Dependencies.zip 你们可以也用这工具扫一下看看,打开之后把sample.exe拖进去就行,另外这工具不支持WinXP

伙计 我搞定了 我本来在win7下 安装了各种运行库 都要崩溃了 你这个工具我也试过了。PE文件结构都快被拆了,我也看了PE导入表信息,然后我直接装了VS2022 就不报错了 然后出现提示 读娶不到happy. 我换了台win10 一样安装了VS2022 正常了。具体原因不祥

我安装了VS2022 Community版本,勾选了“使用C++的桌面开发”,然后用Dependencies又扫了一遍,昨天报问号的两个dll都正常了应该,然后重启电脑打开sample.exe,提示缺失hdf5.dll和zlib.dll,下载后重启电脑打开sample.exe依旧提示0xc000007b。不知你VS2022是哪个版本,安装时勾选了哪些开发包? image image

@regestday 搞定了,感谢!不过不知道咋搞定的,用火绒清理了一下系统垃圾,然后github重新下载了一遍代码,突然就不报错了,不知道为啥
image

@ZigeSu
Copy link

ZigeSu commented Apr 28, 2022

那你们应该是USB3300 PHY电路有点问题,确认一下板子的焊接,我最开始遇到类似的情况经检查是晶振的1M电阻引起的。 不过既然设备管理器能枚举出来说明应该也没啥问题啊,而且看你们的图设备连接也是正常的,你们看看PID和VID是否正常(0x8023和0x1001)
非常抱歉,刚刚那条提问失误了,直接new了一个issue。
大佬请问一下,我的直接安装驱动后匹配到设备的PID和VID和(0x8023和0x1001)不一样,这个是板子没焊接好的原因吗?匹配到的设备如下:
12

@coolflyreg
Copy link

coolflyreg commented Apr 28, 2022

那你们应该是USB3300 PHY电路有点问题,确认一下板子的焊接,我最开始遇到类似的情况经检查是晶振的1M电阻引起的。 不过既然设备管理器能枚举出来说明应该也没啥问题啊,而且看你们的图设备连接也是正常的,你们看看PID和VID是否正常(0x8023和0x1001)
非常抱歉,刚刚那条提问失误了,直接new了一个issue。
大佬请问一下,我的直接安装驱动后匹配到设备的PID和VID和(0x8023和0x1001)不一样,这个是板子没焊接好的原因吗?匹配到的设备如下:
12

我在你第一个发的issue #170 (comment) 里都说过了,你不应该给CP2102装这个驱动。10C4 & EA60 是CP2102的。如果固件烧进去了,没显示USB,那就是没焊好。

1、直接用稚晖君提供的驱动里的ElectronBot@PZH右键安装即可(必须关闭前强制签名)。还有不应该用libusb-win32去给CP2102安装驱动。
2、全部焊接好后,烧录主控前,会有HS8836A USBhub和CP2102。
烧录主控后,会多出现一个未知设备,硬件ID是1001&8023,不带有MI_0X的标志。
3、下载最新的代码,再去刷主控。因为DeviceClass的原因。
4、1001&8023 出不来,基本都是焊接原因。

@scfmkjs
Copy link

scfmkjs commented May 21, 2022

大佬们,有谁知道这个是什么问题吗,程序下进去了,驱动安装好了,可以看见USB3300但是在这里面屏幕没有变化
%)N}%1T7(@7SSACV)6$GZ$V

@yangyuwei5520
Copy link

后来有显示驱动了

我情况和你一样,设备管理器里面只有一个cp2102的端口,没有其他未安装的端口,想问一下你后面怎么又显示有驱动了,是改动了哪里吗?

@YangMing020017
Copy link

没有发送数据上电就是花屏啊,设备管理器里正常是会出现一个新设备需要按照README里面说的安装仓库的驱动才行

后来有显示驱动了,但是我已经禁用了系统强制驱动签名了(通过高级模式,按7禁用系统强制驱动签名),但是驱动还是安装失败,不管怎么样驱动都无法安装成功,不知道和系统版本是否有关,我的系统版本是win1021H1 专业版 禁用强制签名效果 驱动安装失败

请问是怎么显示出另一个USB的驱动 我现在也只有一个CP2102的端口

@YangMing020017
Copy link

后来有显示驱动了

我情况和你一样,设备管理器里面只有一个cp2102的端口,没有其他未安装的端口,想问一下你后面怎么又显示有驱动了,是改动了哪里吗?

请问解决了吗

@liutongs
Copy link

scfmkjs

I have the same question, 那么请问问题解决了吗?

@mcu666
Copy link

mcu666 commented Jun 28, 2022

scfmkjs

I have the same question, 那么请问问题解决了吗?

是不是烧错固件了,要用sample的那个固件
image

@liutongs
Copy link

scfmkjs

Thx,确实是,用sample的固件,显示出笑脸了

@ansheng89757
Copy link

大佬们,有谁知道这个是什么问题吗,程序下进去了,驱动安装好了,可以看见USB3300但是在这里面屏幕没有变化
%)N}%1T7(@7SSACV)6$GZ$V

我的跟你一样,1001和8023都有,就是出不来笑脸,请问你解决了吗

@News0412
Copy link

News0412 commented Aug 23, 2022

大佬们,有谁知道这个是什么问题吗,程序下进去了,驱动安装好了,可以看见USB3300但是在这里面屏幕没有变化
%)N}%1T7(@7SSACV)6$GZ$V

我的跟你一样,1001和8023都有,就是出不来笑脸,请问你解决了吗

我这边解决方案:运行sample.exe之前需要先烧录hex#132
参考该视频08:00 :https://www.bilibili.com/video/BV1tR4y1P7SH/?spm_id_from=333.788&vd_source=65d9417dde7e1831536b0e8761dc51db

@mcu666
Copy link

mcu666 commented Aug 23, 2022

大佬们,有谁知道这个是什么问题吗,程序下进去了,驱动安装好了,可以看见USB3300但是在这里面屏幕没有变化
%)N}%1T7(@7SSACV)6$GZ$V

我的跟你一样,1001和8023都有,就是出不来笑脸,请问你解决了吗

大概率烧错固件

@liuHongJie1217
Copy link

目前我在mac上还不成功。。。真是奇怪。初步估计,用的libusb的版本不对。

你好,请问下,MacOs 能测试主板是否烧录成功吗?因为稚晖君提供的只有win的测试程序

@liuHongJie1217
Copy link

装好了驱动,设备管理器上能看到ELECTRONBOT, 一样也是花屏。 R16电阻无误

花屏不是问题,那是因为初始化,内存里的噪点。我现在虽然把屏幕初始化的时候,用颜色清了屏幕,不是噪点了,但是

  • 主控板卡在:electron.SendUsbPacket(electron.usbBuffer.extraDataTx, 32);
  • ElectronBotSDK-LowLevel里的Sample卡在:_obj->ReceivePacket(reinterpret_cast<uint8_t*>(_obj->extraDataBufferRx), 1, 32);

我是Mac系统,在USB串口里,能看到ElectronBot@PZH,并且能识别到480Mb/s,/dev/ 下也有对应设备。我把舵机的I2C传输屏蔽了,现在就是无法传输USB数据。。。

image image

你好,请问一下,MacOs系统是否能够进行上位机的操作?

@VendettaMask
Copy link

VendettaMask commented Dec 13, 2022 via email

@BLDC888
Copy link

BLDC888 commented Dec 13, 2022 via email

@longxiaoteng
Copy link

驱动可能没装好

电阻测试1M是正常的,驱动没有安装会导致花屏吗?关键是电脑都没有弹出任何设备接入,设备管理器里面只有一个CP2102的USB串口,没有其他未安装驱动的设备,也就是根本没有检测到USB设备接入!非常感谢!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests