找回密码
 注册
关于网站域名变更的通知
查看: 526|回复: 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'直接挂 我该怎么办?
    1 S+ E" ?+ F) |: f! _0 b
      X2 }& K- I4 N% y: s6 h" rtry
    + S5 R( J7 ~9 Y# r      r5 e6 R) J  b
        if~libisloaded('OpticalDevice')) q- t6 Z* k8 [- F$ s1 `8 @) f( a( E
            loadlibrary('OpticalDevice','OpticalDevice.h');
    7 J4 p- W9 Q1 s4 C, y2 l) [8 Q    end;
    / m; Y5 s8 r1 s    m = libfunctions('OpticalDevice','-full');%显示库中函数: o6 u$ r' ^6 H* f/ }) B
    %    libfunctionsview OpticalDevice;%显示库中函数
    # J* g! i6 P- Y5 \- {  \) `    sSerialNO ='123';
    7 R) t. l; F# `7 E+ t- K/ Z    pCharSerialNO = libpointer('cstring',sSerialNO);# ]0 R: V6 ~$ V7 G5 {7 n! n' b
       
    ' ^$ K2 w! k# b' ~! m    %p = libpointer('stringPtr');$ c$ x6 w" M/ v) W# ^
        nNumPixels = 0;6 i; S' K  e. H" p  e& u
        sSerialNum='';%序列号
    " v* k7 t. E0 T3 d8 p7 p    bSuccess=calllib('OpticalDevice','OpenDevice');%打开设备 是否安装了驱动? usb插拔一下?
    7 O: _5 k3 g/ n  c# H    if bSuccess==0  {* \4 p) V% J
            msgbox('打开设备失败','警告');1 E) d9 m2 Y" l- a0 U; H
        else
    . ~, Y5 i& ]9 z, B2 d2 K        nNumPixels = calllib('OpticalDevice','GetNumPixels');%调用成功
    * v+ N' W& Z) E       % calllib('OpticalDevice','GetSerialNO',pCharSerialNO); %调了就崩溃- B. i5 E" R' U6 E

    # o3 h) {8 {: F  v6 _+ J( N% f/ h4 w%%调用'ReadWavelength'直接挂2 z6 D0 G; ^( [( ?5 {/ R
           wavelength = 0.1:1:10000;( [4 q+ L, N' M, u6 j: |# ^
           pWavelength = libpointer('singlePtr',wavelength);
    ) q! U! I7 K; y0 U+ Q       bSuccess = calllib('OpticalDevice','ReadWavelength',pWavelength);%运行到这里Matlab直接崩溃弹窗(Matlab system error); W) {2 w0 l2 r' H! g% G
           %'[bool, singlePtr] ReadWavelength(singlePtr)'
    2 V+ z7 e+ d/ e1 @) {( y. C/ F
    ) z9 o2 T* ?1 [6 r0 P! B% |: p% ?2 g! I# F
           if bSuccess==1
    ' P1 G0 X. W- P7 {9 @9 J. f           disp('读取波长成功');
    : K# G. q- ?  E% ]) J       else
    1 n: S* m1 ~1 _2 u6 r           disp('读取波长失败');
    $ ~1 s7 B8 U2 z# M5 R       end. J, z; j' E# b3 D9 R/ e7 f& w' u* T
        end1 m2 V+ m. J& w6 e/ H
       
    ! z7 @* ]3 m0 J; ]) v5 q( Z$ q6 y" l    bSuccess=calllib('OpticalDevice','CloseDevice');' Z% S% F# m( h3 Y
        unloadlibrary('OpticalDevice');
    , u# ~6 z6 _" a$ gcatch exception
    ' N' x: t' C' \" o% ~    bSuccess=calllib('OpticalDevice','CloseDevice');%关闭设备. a9 l) I. G0 T" o! n  E, g
        unloadlibrary('OpticalDevice');%释放库
    8 `3 v- A, m/ n   
    : F( O$ v& O$ Y: P4 Y1 \    disp(exception);- S- ?4 }8 B$ y; R2 K& ]
    end4 U' r6 s- K! Q$ U' A& z

    $ I% _6 k. h$ ?" r
  • TA的每日心情

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

    [LV.1]初来乍到

    4#
     楼主| 发表于 2020-9-15 17:35 | 只看该作者
    CCxiaom 发表于 2020-9-15 17:34* @+ ^5 b1 c5 `; a3 c0 v
    是不是软件和你的电脑不匹配啊
    1 G6 f8 u% S/ W5 A" _
    不知道啊6 ^/ V8 `+ K2 m/ T

    该用户从未签到

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

    点评

    不知道啊  详情 回复 发表于 2020-9-15 17:35

    该用户从未签到

    2#
    发表于 2020-9-15 17:19 | 只看该作者
    这是资料还是问题啊
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

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

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

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

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