W-03の fa.spiは、CSの操作に失敗する仕様orバグが存在します。
(W-04 v4.00.03 で修正されました。"init"の前に"mode"を設定する事が仕様化され、正常に動作するようになりました)
それを回避するためには、CS操作の前後に空readを入れれば良いことがわかっています。
参考:電子工作記録: fa.spiの挙動(秋月 FlashAir DIP IOボードキットでfa.spiが動かない問題)
http://gpsnmeajp.blogspot.com/2015/12/faspi.html?s...
※秋月 FlashAir DIP IOボードキットを使いたい方はこちらが便利です
lib:libAE_FAIO
(W-04 v4.00.03 で修正されました。"init"の前に"mode"を設定する事が仕様化され、正常に動作するようになりました)
それを回避するためには、CS操作の前後に空readを入れれば良いことがわかっています。
参考:電子工作記録: fa.spiの挙動(秋月 FlashAir DIP IOボードキットでfa.spiが動かない問題)
http://gpsnmeajp.blogspot.com/2015/12/faspi.html?s...
※秋月 FlashAir DIP IOボードキットを使いたい方はこちらが便利です
lib:libAE_FAIO
function write_reg(addr,data)
--fa.spi("read"); --こちらでも良い。
fa.spi("cs",0)
fa.spi("write",0x20)
fa.spi("write",addr)
fa.spi("write",data)
fa.spi("cs",1)
fa.spi("read");
end
if(fa.md5 ~= nil) then
print("FlashAirのファームウェアが古すぎます");
error("error() has been called.");
end;
fa.spi("init",300000);
fa.spi("mode",3);
write_reg(0x00,0xaa) -- IOCONFIG
write_reg(0x01,0x00) -- IOSTATE
sleep(100)
write_reg(0x01,0x0F)
sleep(100)
write_reg(0x01,0x00) -- IOSTATE
sleep(100)||=

コメントをかく