找回密码
 注册
关于网站域名变更的通知
查看: 517|回复: 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'直接挂 我该怎么办?
    0 `' F  A4 {8 M8 [. b' R0 C
    ' B- Z+ B. i0 @4 W$ [2 Utry
    4 M  V. `# t4 r4 _4 q6 C6 |6 B    ! S. F+ _. l* z
        if~libisloaded('OpticalDevice')- y9 E0 t+ e9 v. x
            loadlibrary('OpticalDevice','OpticalDevice.h');+ W7 m8 `5 N5 G# |! z+ m) t6 [
        end;* O* Q8 T' m' q5 @; v3 [2 C
        m = libfunctions('OpticalDevice','-full');%显示库中函数
    * |7 ]% r& w1 c$ y0 n%    libfunctionsview OpticalDevice;%显示库中函数
    ; H! s/ E+ a! x' i& y1 r    sSerialNO ='123';! ~8 M( G- M0 R& m
        pCharSerialNO = libpointer('cstring',sSerialNO);
    % `8 D; ~: e3 d& G; _% y    2 G6 X2 b, c# Y& D
        %p = libpointer('stringPtr');4 K& ]2 H3 m5 w; R; G- K
        nNumPixels = 0;: h" P$ d" O8 u
        sSerialNum='';%序列号
    0 D. ~2 ?" x5 S0 {$ |    bSuccess=calllib('OpticalDevice','OpenDevice');%打开设备 是否安装了驱动? usb插拔一下?
    2 Y2 @* k  D- u& B1 \) X7 X    if bSuccess==03 y) f. G5 H! M
            msgbox('打开设备失败','警告');- |+ g( I- Q' X9 v8 h
        else$ v; V1 J1 y3 a2 ?: i
            nNumPixels = calllib('OpticalDevice','GetNumPixels');%调用成功  D! v7 H, z, Z0 e6 a/ L  N
           % calllib('OpticalDevice','GetSerialNO',pCharSerialNO); %调了就崩溃
    / n& b, H+ e: Q- s/ O  ~5 r
    / r4 H( @( D! c( p( |%%调用'ReadWavelength'直接挂. Q- n8 Q- s  g! W% t
           wavelength = 0.1:1:10000;2 x7 y9 w- X& o9 C/ P* |9 ~% T5 D
           pWavelength = libpointer('singlePtr',wavelength);2 T% l$ s4 a' p7 z5 O, _
           bSuccess = calllib('OpticalDevice','ReadWavelength',pWavelength);%运行到这里Matlab直接崩溃弹窗(Matlab system error)
    2 a& x$ R* x+ p& s0 ]7 N% a       %'[bool, singlePtr] ReadWavelength(singlePtr)'
    " A5 Y5 C2 t$ V; K' w' L: E% Y' o" n% t- j8 j  x7 r" J

    . B0 g8 e1 x& V/ t3 p       if bSuccess==1
    + ?4 p0 d/ a( x  o) }) }1 ^) B( ]           disp('读取波长成功');
    & w$ \6 N$ y- s- c# F9 m5 \% C       else# S2 d- ~) B) C+ k4 \
               disp('读取波长失败');3 y/ v3 z) \" F
           end) J; {: R3 g, z: `! P7 D
        end
    9 p" r1 [9 N1 k: W. z   
    , N: O7 D: V: i    bSuccess=calllib('OpticalDevice','CloseDevice');
    - \  o/ V. H1 a; p5 [    unloadlibrary('OpticalDevice');1 {. ?7 N# ]& v. t8 W6 Q! V2 c
    catch exception( I; [: |, t& T# Y
        bSuccess=calllib('OpticalDevice','CloseDevice');%关闭设备( {0 Q% v) d7 H3 S. o
        unloadlibrary('OpticalDevice');%释放库
    " z# P6 I/ g, J4 q# M    " W% L- m2 ^5 |
        disp(exception);
    5 ?& F" `, p9 O$ u" L) b# _end/ ?0 m, f6 {+ L& e% \
    8 R/ @  Z. z0 x. H

    该用户从未签到

    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
    $ K5 C1 |3 ^' C5 f9 ]是不是软件和你的电脑不匹配啊
    1 Z8 C  ?& B/ Z: N0 X! \1 O
    不知道啊5 w( g% g/ l! k$ n6 f  D# W9 [
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-11-3 17:05 , Processed in 0.171875 second(s), 28 queries , Gzip On.

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

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

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