找回密码
 注册
关于网站域名变更的通知
查看: 523|回复: 3
打印 上一主题 下一主题

MatlabR2014a 32位 调用dll 直接崩溃Matlab system error

[复制链接]
  • TA的每日心情

    2019-11-19 15:32
  • 签到天数: 1 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
    发表于 2020-9-15 15:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
    dll已加载成功并且能调用一部分函数,调用'ReadWavelength'直接挂 我该怎么办?
    % ?4 c9 [2 ]7 Y3 s, w' p( Z- l5 [) N3 Y* f
    try$ B  M4 b2 \; g. P: C: e
        ) X( w: Q* T& `4 l9 V
        if~libisloaded('OpticalDevice')1 h3 G+ p9 u! [+ t7 ^
            loadlibrary('OpticalDevice','OpticalDevice.h');
    ( r# D& o% x, `* B8 ~    end;
    2 f: [* E; L( r# |) g    m = libfunctions('OpticalDevice','-full');%显示库中函数
    ( i( n* M: H8 x/ B%    libfunctionsview OpticalDevice;%显示库中函数, J0 h" t$ ^, M: E& H  A# l
        sSerialNO ='123';
    5 S/ d! L7 D0 u, s    pCharSerialNO = libpointer('cstring',sSerialNO);* V$ v" [) U, l
        3 x7 ?/ w( w" H6 K% R+ {
        %p = libpointer('stringPtr');7 d( @5 z& {& k
        nNumPixels = 0;3 K/ y  t, c. {9 F
        sSerialNum='';%序列号
    2 _8 I, p5 F( G# s    bSuccess=calllib('OpticalDevice','OpenDevice');%打开设备 是否安装了驱动? usb插拔一下?
    2 N$ B9 M* A+ C9 }    if bSuccess==0
    ' t5 G3 K+ {- |# U: e4 \        msgbox('打开设备失败','警告');
    8 O* n. f( d5 ?* i    else) `9 {; x3 R" T0 L
            nNumPixels = calllib('OpticalDevice','GetNumPixels');%调用成功
    ( C. n' y6 B# J6 f1 I* @6 X       % calllib('OpticalDevice','GetSerialNO',pCharSerialNO); %调了就崩溃
    , [" q! [& b+ l1 U0 G% M
    7 X* ?5 I( X, @( H%%调用'ReadWavelength'直接挂' a8 f, F; \* b/ U; K2 _6 f, |) y
           wavelength = 0.1:1:10000;. T& e( V9 ~9 C+ \# @. X
           pWavelength = libpointer('singlePtr',wavelength);
    4 U0 F% z8 V+ I       bSuccess = calllib('OpticalDevice','ReadWavelength',pWavelength);%运行到这里Matlab直接崩溃弹窗(Matlab system error). D$ K, @  d' C: j8 q; F. M: j
           %'[bool, singlePtr] ReadWavelength(singlePtr)'
    + e! ~, k* H! V2 N( R- s% F, S- s: U, J" m! [; e# S9 a7 y

    ( X- ?  t9 c/ Q9 U5 w4 g6 W& @7 [       if bSuccess==16 E7 t0 Y: I/ W
               disp('读取波长成功');
    ( \/ p6 m" t/ Y# g. `; D( C       else; u+ C- v, j+ g3 ^+ ]
               disp('读取波长失败');
    5 n# I) F6 Y3 I* ]( V       end
      D+ I- u  W+ _- e; d5 @8 r    end
    % h$ g( V: e) c" F   
    : a# m+ W2 P+ ]2 O    bSuccess=calllib('OpticalDevice','CloseDevice');9 E9 i* n0 ~, r/ V: V( R) T! B) }: O
        unloadlibrary('OpticalDevice');
    6 l5 L0 p# v# l( Jcatch exception
    % `, h- }9 [2 j3 b* [5 |    bSuccess=calllib('OpticalDevice','CloseDevice');%关闭设备
    / s% l+ \. J6 @( i$ C/ S. L    unloadlibrary('OpticalDevice');%释放库8 N" l# w0 a% n# J* `: c$ c$ w4 g% k
        8 m& I/ h- D5 n" S( j. V
        disp(exception);
    " c7 y# R' [6 m: {  A6 b  nend; L& l- M3 V/ n# T, O

    + t# R1 ], V. M1 w1 M" o

    该用户从未签到

    2#
    发表于 2020-9-15 17:19 | 只看该作者
    这是资料还是问题啊

    该用户从未签到

    3#
    发表于 2020-9-15 17:34 | 只看该作者
    是不是软件和你的电脑不匹配啊

    点评

    不知道啊  详情 回复 发表于 2020-9-15 17:35
  • TA的每日心情

    2019-11-19 15:32
  • 签到天数: 1 天

    [LV.1]初来乍到

    4#
     楼主| 发表于 2020-9-15 17:35 | 只看该作者
    CCxiaom 发表于 2020-9-15 17:34' j+ X! r  Z& b
    是不是软件和你的电脑不匹配啊
    # D- ~+ d; t4 u* C! h6 X
    不知道啊
    7 ~8 e' b' n, K( f  T0 U) X8 L
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-11-24 12:44 , Processed in 0.156250 second(s), 24 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表