TA的每日心情 | 衰 2019-11-19 15:32 |
|---|
签到天数: 1 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
dll已加载成功并且能调用一部分函数,调用'ReadWavelength'直接挂 我该怎么办?; \$ p0 d" I, X, }" \* [$ S
0 ~) t2 ~1 l' _9 Q4 D& l! g Z
try3 x: H# l9 S5 I8 O z, G
) N: Y' h+ x$ {* e6 r3 } if~libisloaded('OpticalDevice')' w+ }0 S3 l, ]
loadlibrary('OpticalDevice','OpticalDevice.h');) d9 |- Z# t% V
end;( e& G& l4 `& L, }: c U X4 D
m = libfunctions('OpticalDevice','-full');%显示库中函数% B' u0 i5 k4 O2 a( U
% libfunctionsview OpticalDevice;%显示库中函数
* N) ^6 I8 p6 X! e/ L9 d sSerialNO ='123';
2 D- V, I( [2 S7 v: F pCharSerialNO = libpointer('cstring',sSerialNO);
. m- Y) `, r- u
- K& R7 P+ V9 m) [1 | %p = libpointer('stringPtr');
# ]7 { g0 O; O: U l- G/ T6 @+ s nNumPixels = 0;* v- ?. O' K( V& L- \) L4 x
sSerialNum='';%序列号
& r; H3 [2 q5 n$ [2 f2 j6 O bSuccess=calllib('OpticalDevice','OpenDevice');%打开设备 是否安装了驱动? usb插拔一下?& a! b- B4 t) H' h( N) B" m; W
if bSuccess==0
! Y! W! C; r# N# ] p) T( Y, } msgbox('打开设备失败','警告');5 V3 g& i y* @9 V& ^/ E; S% f
else1 y) _8 B; _4 r$ \5 V5 V3 U1 N
nNumPixels = calllib('OpticalDevice','GetNumPixels');%调用成功
6 E1 [# K; s9 u) [5 N % calllib('OpticalDevice','GetSerialNO',pCharSerialNO); %调了就崩溃
, e8 B, b a+ A& c& v' Y$ s
3 z# a2 F$ P) ?0 E& @/ l' A%%调用'ReadWavelength'直接挂
% E ]) }+ S8 x; m+ p wavelength = 0.1:1:10000;
, s6 X3 D, Y6 N/ a9 s4 Y6 m pWavelength = libpointer('singlePtr',wavelength);. O9 C7 j6 q0 S; d) C8 Y
bSuccess = calllib('OpticalDevice','ReadWavelength',pWavelength);%运行到这里Matlab直接崩溃弹窗(Matlab system error)
1 y" H" ~) s1 g, T5 A! Q %'[bool, singlePtr] ReadWavelength(singlePtr)'
, B& L5 J$ @; T0 ~0 C1 g8 Y3 Y
- X6 _" J) ]! R- r7 P" ~! l
- j; |: n* e9 D8 z) ~' z m. H if bSuccess==1
( _+ e! m4 P( s disp('读取波长成功');% G6 x% v8 R/ P
else0 W4 P+ j* m, y' A4 t4 a
disp('读取波长失败');
/ ` z5 t; \0 h2 S. B \ end
1 F ^! q4 u5 l2 o( c# p end9 r4 _2 `4 ~: H2 F
: D# L4 i- u+ l5 F0 ?/ K bSuccess=calllib('OpticalDevice','CloseDevice');
- G9 e7 \; @6 p unloadlibrary('OpticalDevice');
7 ]- K) D( l8 K) P$ [& fcatch exception. W% O" j8 L( Q! }
bSuccess=calllib('OpticalDevice','CloseDevice');%关闭设备
( p. e ^, ~- _* n. {7 F) i! j unloadlibrary('OpticalDevice');%释放库1 c% Y: f0 `; {4 P1 M) D; t
, j) g9 R9 F* {) r disp(exception);
5 ?7 W7 c! Q& q, R- E- T3 f* Y' s$ I" {end
* g A0 |4 _+ G- e' C y# `
2 w6 R/ \' s; M1 D+ s8 V |
|