C#指定串口调试CP210x的GPIO电平:试图加载格式不正确的程(异常来自 HRESULT:0x8007000B)

文章讲述了如何处理在使用CP210x时遇到的BadImageFormatException,重点在于检查DLL的32/64位版本,确保工程文件平台设置与DLL匹配,以及通过SiliconLabs的USBXpressHostSDK下载和安装对应版本的DLL。
摘要由CSDN通过智能技术生成

报错问题:System.BadlmageFormatException:"试图加载格式不正确的程(异常来自 HRESULT:0x8007000B)”

此处调试为CP2102N

主要是因为是CP210x调用的文件与工程生成平台不一致

1.使用文本文档打开dll检查是64位还是32位dll,以下为dll64/32位区分方法

64位、将dll用记事本打开,可以看到一堆乱码,但是找到乱码行的第一个PE,如果后面是d?则为64位,

32位、将d用记事本打开,可以看到一堆乱码,但是找到乱码行的第一个PE,如果后面是L则为32位

如下图;

2.转到工程文件点击解决方案资源管理器-》工程文件-》属性-》调试-》平台。选择生成与DLL一致的平台

x64对应64位DLL,x32对应32位DLL,Any CPU兼容64/32位DLL

从新生成即可运行

4.对于需要固定的平台但是缺少对应DLL的,可以进行如下操作进行DLL下载。此处我下载的是64位CP210x的DLL

1)官网下载USBXpress Host SDK for Windows软件。

官网地址:Technical Resource Search - Silicon LabsFind application notes, data sheets, software and other tehnical resources for Silicon Labs solutions.icon-default.png?t=N7T8https://www.silabs.com/support/resources.ct-software.p-interface_usb-bridges_usbxpress-usb-bridges.page=1

2)安装USBXpressHostSDK-6.7.7-Win.msi,例如F:\SiliconLabs目录。

3)你能发现x64版本的CP210xManufacturing.dll。

5.将对应DLL放进对应根目录下即可

其他问题欢迎留言讨论提问,谢谢!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值