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)||=
コメントをかく