TA的每日心情 | 衰 2019-11-19 15:32 |
---|
签到天数: 1 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
dll已加载成功并且能调用一部分函数,调用'ReadWavelength'直接挂 我该怎么办?1 V8 h8 Y5 ]) [
8 P3 I' f, d: u, K. h+ r+ M+ h! e9 _/ L
try
V/ j' v, D5 N, _ , a% J/ t3 H7 e$ q
if~libisloaded('OpticalDevice')1 }( S; W2 O {3 P& U
loadlibrary('OpticalDevice','OpticalDevice.h');( }7 g' S+ p* \6 _
end;
; @2 n, S. J* m( I- p% \3 [# @ m = libfunctions('OpticalDevice','-full');%显示库中函数; f7 z" C5 Q% F. G
% libfunctionsview OpticalDevice;%显示库中函数
* H2 m+ b' ]' Q& d4 [$ ~ sSerialNO ='123';: N5 M; f% ~3 Z3 v" S
pCharSerialNO = libpointer('cstring',sSerialNO);9 X* M( {! A5 [* g
$ x3 o( v! z* @ %p = libpointer('stringPtr');+ j: N5 [, Z7 y0 e, ]& B6 O
nNumPixels = 0;
0 p/ |0 k0 q$ J. G( r. ] sSerialNum='';%序列号
" D6 s* ~0 g+ ]! c+ ]) | bSuccess=calllib('OpticalDevice','OpenDevice');%打开设备 是否安装了驱动? usb插拔一下?
! K, L' F: y+ V if bSuccess==0
+ R' ] B5 r |4 a" h, S% X msgbox('打开设备失败','警告');
6 _7 v; ]6 m T else e( i A# K) _# H, w5 B( [
nNumPixels = calllib('OpticalDevice','GetNumPixels');%调用成功
8 l! O$ v: E ?" p" H % calllib('OpticalDevice','GetSerialNO',pCharSerialNO); %调了就崩溃
i2 q7 l+ j8 B' |) t* ^( M$ f" N; D7 L& ~
%%调用'ReadWavelength'直接挂! T$ ~! D* \+ T& L
wavelength = 0.1:1:10000;
5 M: L1 |/ @; N: I pWavelength = libpointer('singlePtr',wavelength);
$ v+ j% \! {1 V& J& K1 r bSuccess = calllib('OpticalDevice','ReadWavelength',pWavelength);%运行到这里Matlab直接崩溃弹窗(Matlab system error), _# o3 E0 x2 G6 f
%'[bool, singlePtr] ReadWavelength(singlePtr)'
) K8 W9 i" x- f% f; {+ w
% H. a0 j( _, ?4 W5 A
+ u8 x! q5 j3 y4 L$ g4 J if bSuccess==10 L+ x8 k( a( k9 a, \
disp('读取波长成功');
* u5 w; j( L9 N- a# T& ` else! k- `) {3 B2 u W" b
disp('读取波长失败');
- E) S0 G7 T9 B end% o7 `! {% W- F# _
end
/ E* k$ ?+ C* m2 b8 N) T$ h5 |( }/ c ; h& B( |1 f3 ?; Q" b U' P# f
bSuccess=calllib('OpticalDevice','CloseDevice');) T0 T9 T( I4 L, i
unloadlibrary('OpticalDevice');8 m! {. y" K$ t2 c: t
catch exception i' m( d: j6 E; j! h
bSuccess=calllib('OpticalDevice','CloseDevice');%关闭设备. Z. u8 P) Y. ?* r6 [
unloadlibrary('OpticalDevice');%释放库
5 j* C* X; r' Y1 h# L 4 j4 F# `4 U4 D& G) a) R5 n+ F7 z- [
disp(exception);
* Y" s o! |# r$ k w9 D uend
. f; _' _. \1 S4 S
3 J% N, N4 Z$ L1 M" P8 ^ e, U9 \ |
|