Re: [問題] 關於advantech擷取卡與matlab的一些問題已回收
※ 引述《sexygg (gg)》之銘言:
: 由於不熟悉回文不小心po了篇空白文,先在這裡向版主致歉!
: 再來就是感謝APP大和wave大的熱心解答
: 我採用了app大說的修改取樣頻率的指令
: 我先貼上我的程式
: function [voicedata,fs]=microphone(duration,fs)
: ai= analoginput('advantech',0);
: addchannel(ai,1);
: ai.Channel.InputRange = [0 10];
: set(ai,'SampleRate',fs)
: ActualRate = get(ai,'SampleRate');
: set(ai,'SamplesPerTrigger',duration*ActualRate)
: set(ai,'TriggerType','Manual')
: blocksize = get(ai,'SamplesPerTrigger');
: fs = ActualRate;
: start(ai)
: trigger(ai)
: voicedata = (getdata(ai))';
: 這個程式在之前執行一直是失敗的
: 他的失敗原因如下:
: ??? A timeout occurred during GETDATA.
: Error in ==> analoginput.getdata at 196
: varargout{1}=getdata(uddobj,samples,dataformat);
: Error in ==> microphone at 18
: voicedata = (getdata(ai))';
感謝大大的回答,後來我又試了wait(ai,2)這個指令,我是將它放在trigger(ai)的下一行
但是仍然沒有成功,會出現同樣的失敗訊息,
失敗訊息的getdata 196到底是什麼意思呢?(196是代表什麼)
我覺得最奇怪的地方就是我昨天試的時候又可以,分別試了400,1000HZ都可以取到值
結果今天用又不行
到底是發生什麼原因了呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.26.129
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):