io.output(io, boolean)
IOのHigh/Lowを切り替えます。起動時はHi-z状態のIOからプッシュプルの出力が開始されます。
以下はIO1,IO2にLEDを繋いだ場合交互に点滅する例です
local tick = 0
local flag = false
os.log(" - Lua PowerOn");
io.retain(1, true);
io.retain(2, true);
function on_offline_loop()
loop()
end
function on_online_loop()
loop()
end
function loop()
if tick + 300 < os.getTick() then
tick = os.getTick()
io.output(1, flag);
io.output(2, not flag);
flag = not flag
end
end
io.input(io)
IOのLHigh/Lowを読み取ります。
outputを行ったあとにinputすることでIOをHi-z状態にすることができます。
以下はIO2の入力をIO1から出力する例です。
function on_offline_loop()
loop()
end
function on_online_loop()
loop()
end
function loop()
io.output(1, io.input(2));
end
os.log(" - Lua Start");
io.retain(1, true);
io.retain(2, true);