Too many output arguments ERROR
3 ビュー (過去 30 日間)
古いコメントを表示
I am making a function to run venting on a pump system. I am getting an error using the matlab timer object. I have the script below and the error let me know if you can help. Thanks!
function vent_man(sec)
v = visa('agilent', 'ASRL1::INSTR');
fopen(v);
hexdata_open = ['02'; '80'; '31'; '32'; '32'; '31'; '31'; '03'; '42'; '33'];
decdata_open = hex2dec(hexdata_open);
hexdata_close = ['02'; '80'; '31'; '32'; '32'; '31'; '30'; '03'; '42'; '33'];
decdata_close = hex2dec(hexdata_close);
t = timer;
t.StartFnc = fwrite(v, decdata_open, 'uint8');
t.StopFnc = fwrite(v, decdata_close, 'uint8');
t.Period = sec;
start(t);
fclose(v);
delete(v);
end
P.S. I have already tried changing the first line to function v = vent_man(sec) which did not work
Error using icinterface/fwrite
Too many output arguments.
Error in vent_man (line 9)
t.StartFnc = fwrite(v, decdata_open, 'uint8');
0 件のコメント
回答 (1 件)
Cam Salzberger
2020 年 7 月 24 日
編集済み: Cam Salzberger
2020 年 7 月 24 日
Keir,
The fwrite method for that object doesn't seem to return an output argument. Always try to make sure that you are both using the correct function and using the function correctly.
In this case, it looks like you want to make a function handle for the timer functions, not call the function immediately. So you probably want something more like:
t.StartFnc = @(~,~)fwrite(v, decdata_open, 'uint8');
and similar for the other
-Cam
3 件のコメント
Cam Salzberger
2020 年 7 月 24 日
Always read the error messages - they're usually pretty useful.
参考
カテゴリ
Help Center および File Exchange で Simulink Functions についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!