Data Acquisition (Really easy question)
2 次查看(过去 30 天)
显示 更早的评论
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
0 个评论
采纳的回答
Pedro Villena
2012-12-28
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);
0 个评论
更多回答(1 个)
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.
0 个评论
另请参阅
类别
在 Help Center 和 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!