ダウンロードは以下のURL
https://github.com/gpsnmeajp/FlashToolsLib
https://sites.google.com/site/gpsnmeajp/electricme...
あるいは以下のコードを「pioduino.lua」としてファイルに保存する
PIO_MODE = 0x00 --ピン入出力変数(触らないこと)
PIO_DATA = 0x00 --ピン状態変数(触らないこと)
HIGH = 0x1 --定数
LOW = 0x0 --定数
INPUT = 0x0 --定数
OUTPUT = 0x1 --定数
function delay(t)
sleep(t)
end
function digitalWrite(port,dat)
local mask = bit32.lshift(1,port)
local nmask = bit32.bnot (mask)
if(dat == LOW) then
PIO_DATA = bit32.band(PIO_DATA, nmask)
else
PIO_DATA = bit32.bor(PIO_DATA, mask)
end
return fa.pio(PIO_MODE,PIO_DATA)
end
function digitalRead(port)
local PIO_STATUS = 0
local mask = bit32.lshift(1,port)
PIO_STATUS, PIO_INFO = fa.pio(PIO_MODE, PIO_DATA)
if(bit32.btest (PIO_INFO,mask)) then
return HIGH, PIO_STATUS
end
return LOW, PIO_STATUS
--(IF文や他の関数に直接突っ込めるよう、第一引数にポート状態を置いてある)
end
function pinMode(port,mode)
local mask = bit32.lshift(1,port)
local nmask = bit32.bnot (mask)
if (mode == OUTPUT) then
PIO_MODE = bit32.bor(PIO_MODE, mask)
else
PIO_MODE = bit32.band(PIO_MODE, nmask)
end
return fa.pio(PIO_MODE,PIO_DATA)
end
dW = digitalWrite
dR = digitalRead
pM = pinMode