WCH沁恒单片机
直播中

xiangwangzihui

12年用户 511经验值
擅长:模拟技术
私信 关注
[问答]

CH341使用matlab控制时无法loadlibrary是为什么?如何解决?

目前CH341的串口使用matlab自带的串口程序可以正常通信,想使用I2C模式,目前模式配置正确,PC也正常识别。
但是加载驱动库的时候一直在报错,自测加载matlab自带的其他动态库是可以正常操作的。
目前使用C编译器:
MEX 配置为使用 'MinGW64 Compiler (C)' 以进行 C 语言编译。
命令如下:
loadlibrary('CH341DLL')
报错信息如下:
加载随后的库中间输出时出错。
实际错误位于此输出末尾。
*********


Type 'LONG' was not found.  Defaulting to type error.


Found on line 6 of input from line 40 of file D:\learn\DCDC\MLX90640\CH341DLL.H


Type 'HANDLE' was not found.  Defaulting to type error.


Found on line 54 of input from line 236 of file D:\learn\DCDC\MLX90640\CH341DLL.H


Type 'ULONG' was not found.  Defaulting to type error.


Found on line 54 of input from line 236 of file D:\learn\DCDC\MLX90640\CH341DLL.H


Type 'VOID' was not found.  Defaulting to type error.


  

回帖(4)

韩禹

2022-6-29 10:19:13
您好,我司提供的DLL库文件使用Windows API,可以不受环境和开发限制,正常如:Python、Matlab、VB、Python等语言调用为标准调用部分,如上提示类型在Matlab中无法解决导致找不到原型的,可以直接尝试添加未定义的类型的定义。
举报

肖晓新

2022-6-29 10:19:16
基本确认是这个,我看到了,修改了CH341DLL。h里面有很多ULONG,UCHAR,VOID都是大写的,跟标准C应该是有区别的,这个应该增加一个怎样的文件来呢?能不能提供样例程?
举报

崔璨

2022-6-29 10:19:20
你好,CH341DLL.h里面有很多ULONG,UCHAR,VOID的类型为Windows标准头文件中定义的变量类型,你可以使用MATLAB匹配的类型转换。Windows系统上:
ULONG: 无符号LONG
UCHAR:无符号CHAR
HANDLE:对象的句柄,最基本的句柄类型
VOID:无类型,相当于标准C语言中的void
举报

jf_64696844

2022-10-18 16:02:49
解决了没。我现在改完宏定义,还是出错。
提示:
CH341DLL.DLL 不是有效的 Win32 应用程序。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分