Re: [問題] 關於advantech擷取卡與matlab的一些問題已回收
由於不熟悉回文不小心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))';
但是很神奇的是,在今天,我又重新執行了這行程式
結果他居然可以成功! 我分別使用了取樣頻率500,1000,10000
試驗了好幾次都有讀到值,雖然讀到的值振幅好像很大,但至少是讀到了!
但重點來了~在試了大約四五次之後,又出現上面的錯誤指令了!
請問那行錯誤指令是什麼意思啊?
為什麼一下子可以一下子卻不行呢?
煩請會的大大能幫忙解答我,感激不盡!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.26.129
→
08/12 11:47, , 1F
08/12 11:47, 1F
→
08/12 14:35, , 2F
08/12 14:35, 2F
→
08/12 14:35, , 3F
08/12 14:35, 3F
推
08/12 16:51, , 4F
08/12 16:51, 4F
→
08/12 16:55, , 5F
08/12 16:55, 5F
推
08/14 13:13, , 6F
08/14 13:13, 6F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 2 之 3 篇):