找回密码
 注册
关于网站域名变更的通知
查看: 522|回复: 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'直接挂 我该怎么办?; \$ p0 d" I, X, }" \* [$ S
    0 ~) t2 ~1 l' _9 Q4 D& l! g  Z
    try3 x: H# l9 S5 I8 O  z, G
       
    ) N: Y' h+ x$ {* e6 r3 }    if~libisloaded('OpticalDevice')' w+ }0 S3 l, ]
            loadlibrary('OpticalDevice','OpticalDevice.h');) d9 |- Z# t% V
        end;( e& G& l4 `& L, }: c  U  X4 D
        m = libfunctions('OpticalDevice','-full');%显示库中函数% B' u0 i5 k4 O2 a( U
    %    libfunctionsview OpticalDevice;%显示库中函数
    * N) ^6 I8 p6 X! e/ L9 d    sSerialNO ='123';
    2 D- V, I( [2 S7 v: F    pCharSerialNO = libpointer('cstring',sSerialNO);
    . m- Y) `, r- u   
    - K& R7 P+ V9 m) [1 |    %p = libpointer('stringPtr');
    # ]7 {  g0 O; O: U  l- G/ T6 @+ s    nNumPixels = 0;* v- ?. O' K( V& L- \) L4 x
        sSerialNum='';%序列号
    & r; H3 [2 q5 n$ [2 f2 j6 O    bSuccess=calllib('OpticalDevice','OpenDevice');%打开设备 是否安装了驱动? usb插拔一下?& a! b- B4 t) H' h( N) B" m; W
        if bSuccess==0
    ! Y! W! C; r# N# ]  p) T( Y, }        msgbox('打开设备失败','警告');5 V3 g& i  y* @9 V& ^/ E; S% f
        else1 y) _8 B; _4 r$ \5 V5 V3 U1 N
            nNumPixels = calllib('OpticalDevice','GetNumPixels');%调用成功
    6 E1 [# K; s9 u) [5 N       % calllib('OpticalDevice','GetSerialNO',pCharSerialNO); %调了就崩溃
    , e8 B, b  a+ A& c& v' Y$ s
    3 z# a2 F$ P) ?0 E& @/ l' A%%调用'ReadWavelength'直接挂
    % E  ]) }+ S8 x; m+ p       wavelength = 0.1:1:10000;
    , s6 X3 D, Y6 N/ a9 s4 Y6 m       pWavelength = libpointer('singlePtr',wavelength);. O9 C7 j6 q0 S; d) C8 Y
           bSuccess = calllib('OpticalDevice','ReadWavelength',pWavelength);%运行到这里Matlab直接崩溃弹窗(Matlab system error)
    1 y" H" ~) s1 g, T5 A! Q       %'[bool, singlePtr] ReadWavelength(singlePtr)'
    , B& L5 J$ @; T0 ~0 C1 g8 Y3 Y
    - X6 _" J) ]! R- r7 P" ~! l
    - j; |: n* e9 D8 z) ~' z  m. H       if bSuccess==1
    ( _+ e! m4 P( s           disp('读取波长成功');% G6 x% v8 R/ P
           else0 W4 P+ j* m, y' A4 t4 a
               disp('读取波长失败');
    / `  z5 t; \0 h2 S. B  \       end
    1 F  ^! q4 u5 l2 o( c# p    end9 r4 _2 `4 ~: H2 F
       
    : D# L4 i- u+ l5 F0 ?/ K    bSuccess=calllib('OpticalDevice','CloseDevice');
    - G9 e7 \; @6 p    unloadlibrary('OpticalDevice');
    7 ]- K) D( l8 K) P$ [& fcatch exception. W% O" j8 L( Q! }
        bSuccess=calllib('OpticalDevice','CloseDevice');%关闭设备
    ( p. e  ^, ~- _* n. {7 F) i! j    unloadlibrary('OpticalDevice');%释放库1 c% Y: f0 `; {4 P1 M) D; t
       
    , j) g9 R9 F* {) r    disp(exception);
    5 ?7 W7 c! Q& q, R- E- T3 f* Y' s$ I" {end
    * g  A0 |4 _+ G- e' C  y# `
    2 w6 R/ \' s; M1 D+ s8 V

    该用户从未签到

    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  z8 h5 L* |1 m3 H4 a# T
    是不是软件和你的电脑不匹配啊

    8 [/ Z7 d5 U8 I% C不知道啊
    & b' D& `( a& R1 M1 z& K( M" j
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

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

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

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

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