找回密码
 注册
关于网站域名变更的通知
查看: 525|回复: 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'直接挂 我该怎么办?; 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

    该用户从未签到

    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; v* v( }  |7 _' l
    是不是软件和你的电脑不匹配啊
    4 A( A4 w! M3 Y
    不知道啊
    & j% o) s7 i; q2 }
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

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

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

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

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