Data Acquisition (Really easy question)

I am trying to write a couple functions to interact with a MCC 1208LS sensor board and specifically trying to turn an led bar with 8 different lights on or off. I have made a function that does this, but it is slow as molasses and I know for a fact there is a better way, I just don't know what it is.
I have my function below and I am looking for a more speedy/optimal/less-sketchy way to code it. Thanks for the help! If I need to add comments I can do so, otherwise I think my goal is extremely intuitive.
if true
function [] = putDigitalData(ledNums, value)
%Sets state of LED light board
global dioLine
DIO = digitalio('mcc','0');
if isempty(dioLine)
dioLine = addline(DIO,0:7,1,'out');
end
for i=1:length(ledNums)
putvalue(dioLine(ledNums(i)),value)
end
end
end

 采纳的回答

global dioLine ledsLine
DIO = digitalio('mcc','0');
if isempty(dioLine)
dioLine = addline(DIO,0:7,1,'out');
ledsLine = [0 0 0 0 0 0 0 0];
end
ledsLine(ledNums) = value;
putvalue(dioLine,ledsLine);

更多回答(1 个)

Walter Roberson
Walter Roberson 2012-12-28
Whenever possible, initialize digitalio and addline outside of any loop, so that the function you call only outputs values and does not have to construct the lines.

类别

在 帮助中心 和 File Exchange 中查找有关 Data Acquisition Toolbox Supported Hardware 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by