TA的每日心情 | 衰 2019-11-19 15:32 |
|---|
签到天数: 1 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
dll已加载成功并且能调用一部分函数,调用'ReadWavelength'直接挂 我该怎么办?; z( w5 g) w0 c. Y4 M3 X
+ N6 ?0 j: F; r. g2 j$ ztry: ?* H, B% P9 p0 c# C b" m! ~
( ?1 i# M6 F- d7 W
if~libisloaded('OpticalDevice')
: A" l, G- d n loadlibrary('OpticalDevice','OpticalDevice.h');
1 d5 z {2 e. _$ y end;2 [* X: E+ T$ _3 R
m = libfunctions('OpticalDevice','-full');%显示库中函数* `5 M$ p" G" P* N
% libfunctionsview OpticalDevice;%显示库中函数1 a% X( \; ?) f& i1 l7 P
sSerialNO ='123';( l/ |7 ?- l2 G% S# \3 o
pCharSerialNO = libpointer('cstring',sSerialNO);8 A" H+ x) b7 f/ l) f
) t9 Q/ m2 ]. \4 d3 ~' ]& ] %p = libpointer('stringPtr');) M7 k7 }2 m+ f; d" C3 Q, T3 i3 F
nNumPixels = 0;
3 U- \) q! Q5 t* L3 W sSerialNum='';%序列号
/ K- n) |" b m; \; Z$ c+ m, z bSuccess=calllib('OpticalDevice','OpenDevice');%打开设备 是否安装了驱动? usb插拔一下?
; V! H5 O% _! e0 W4 B if bSuccess==0% ]3 `5 L; j) t2 B, h, ]
msgbox('打开设备失败','警告');! @$ O# e2 h3 a% s5 B6 b, ~& Y
else
! Q3 i' G" i- b, \9 n nNumPixels = calllib('OpticalDevice','GetNumPixels');%调用成功5 M0 Q! d2 o* @8 a ?7 S
% calllib('OpticalDevice','GetSerialNO',pCharSerialNO); %调了就崩溃
% @- N9 G: R( ~# k
9 ^6 g- z9 X9 |8 F%%调用'ReadWavelength'直接挂2 ?3 ^& S2 f# K H5 C" D/ G
wavelength = 0.1:1:10000;
6 N0 s0 }: o4 J$ C pWavelength = libpointer('singlePtr',wavelength);
% ?* s+ X# Y R$ o bSuccess = calllib('OpticalDevice','ReadWavelength',pWavelength);%运行到这里Matlab直接崩溃弹窗(Matlab system error)
# ?. g6 [4 Y( t' f- k %'[bool, singlePtr] ReadWavelength(singlePtr)'0 {; X; k/ k/ p" ]
3 V* P* V5 F: n' v
, n- U9 p5 b1 j
if bSuccess==1
( b) g. a. b6 O% f1 s/ S disp('读取波长成功');
1 e8 P8 I: L! P else
2 x& A4 [, C% p; L( y" H0 v$ }! I3 O disp('读取波长失败');
7 W+ y' {+ R: l8 w end$ h6 |4 F2 q% K: O M& X2 p
end' T) [; C9 P) W7 ^
( |5 b4 K) S* j7 ?' R bSuccess=calllib('OpticalDevice','CloseDevice');: b: o/ J/ ?6 i) ~, v4 ~* d
unloadlibrary('OpticalDevice');0 A/ M" B: |( u
catch exception0 K3 }4 `- ^8 S+ H4 K( C
bSuccess=calllib('OpticalDevice','CloseDevice');%关闭设备* @7 e# o; F# r; ~3 Y, F6 e2 B. ?
unloadlibrary('OpticalDevice');%释放库
! \' J( O! r% x f
9 n7 u% y1 ?: p- N disp(exception);; P/ o" A# F# |7 w. v/ j1 ]
end
8 [0 Q0 L/ l, O$ J. `
! r0 p) N" j/ X9 v1 X) p2 j0 Y |
|