找回密码
 注册
关于网站域名变更的通知
查看: 481|回复: 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'直接挂 我该怎么办?9 B! l; N4 o( e+ e- N
    ' k( }; k" s: X7 h% v. }; R- S  i
    try% p8 I, ]- b$ S7 A
        : n( B0 b5 S- Y& Q- Y8 T- t2 O
        if~libisloaded('OpticalDevice')7 ^! p. X: R: u# v6 i6 `
            loadlibrary('OpticalDevice','OpticalDevice.h');8 |$ s. @9 j; O, U5 w0 R6 J
        end;& ^$ S% @' k2 K: q8 l+ a
        m = libfunctions('OpticalDevice','-full');%显示库中函数/ Q" I6 g& t- h: a4 w+ N
    %    libfunctionsview OpticalDevice;%显示库中函数
    " H" @& u+ X6 @2 l9 O# @    sSerialNO ='123';
    & b+ Q3 t( F0 w! {/ `. [6 E    pCharSerialNO = libpointer('cstring',sSerialNO);$ C6 }3 l: g# T5 K
       
    3 k+ D( g+ C( ~* B, K    %p = libpointer('stringPtr');
    , f9 e, k! P/ |9 _    nNumPixels = 0;& V3 `  l) W/ H
        sSerialNum='';%序列号
    # q1 O, |; Y, P4 w0 X' x) K    bSuccess=calllib('OpticalDevice','OpenDevice');%打开设备 是否安装了驱动? usb插拔一下?
    0 E: N2 M1 L5 C& q% X    if bSuccess==03 `* Z( k" A* h  o* c7 K
            msgbox('打开设备失败','警告');
    1 O- ^7 |: H* c. v. [8 C    else3 s3 P- K1 U: n% J1 D
            nNumPixels = calllib('OpticalDevice','GetNumPixels');%调用成功
    6 N. I5 E' @" U7 T       % calllib('OpticalDevice','GetSerialNO',pCharSerialNO); %调了就崩溃
    # `; `! Z* m8 B. I7 I) n- b: \( w+ H+ R( F( e$ t6 e
    %%调用'ReadWavelength'直接挂
    / {. G+ L  ?6 x, X$ X       wavelength = 0.1:1:10000;5 ]: `/ l% ~/ x# ^# |) a
           pWavelength = libpointer('singlePtr',wavelength);' R, P9 }1 e6 r  K! G9 L
           bSuccess = calllib('OpticalDevice','ReadWavelength',pWavelength);%运行到这里Matlab直接崩溃弹窗(Matlab system error)
    2 F, v' z" P/ G& [       %'[bool, singlePtr] ReadWavelength(singlePtr)'( [7 Q' s# d9 G: P) U% H8 N

    4 O1 |, |& E; h' y6 x/ [. O* l
    * e2 _6 A( `4 ^, S+ \# s- [7 q' e       if bSuccess==1
    6 U- @) ?; u6 s$ l3 M: z           disp('读取波长成功');9 e9 [; {( Q! L  t& T, N# A0 m
           else5 J+ P$ |) A& E1 C
               disp('读取波长失败');
    8 y3 U2 x' H* x- Z3 D4 o9 u3 b       end
    + @6 m3 P- e7 }) Z    end
    : S$ d3 C6 ?3 y% R    * k  h9 s8 x, U
        bSuccess=calllib('OpticalDevice','CloseDevice');+ d0 Q" U/ b; `. X( C! W8 M
        unloadlibrary('OpticalDevice');
    / a- ^& V) J' I" g7 ]catch exception4 `9 y3 d+ a' E
        bSuccess=calllib('OpticalDevice','CloseDevice');%关闭设备$ n; t% Z3 ?- G% I' {6 ?# m
        unloadlibrary('OpticalDevice');%释放库" t* z7 q# ^# z1 p* [
        * {3 T9 }8 I9 z" D. q7 w
        disp(exception);. j) x; C5 s' }+ x8 E
    end6 j! n3 b9 y  i0 {0 d4 o

    ! o2 E) z3 O" S

    该用户从未签到

    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( g8 p( R/ ]3 [$ a9 P& C
    是不是软件和你的电脑不匹配啊
    & n- ~1 G; a/ Y- p' n9 ^
    不知道啊  N+ ]0 T. {, x
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-6-22 02:15 , Processed in 0.078125 second(s), 27 queries , Gzip On.

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

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

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