1から全部自分で書けばそんなことは無いのだが、MPLAB Code Configurator(MCC)に頼ったり、FatFsに頼ったりしてる。
当然、機能がダブる。
両方残したままにして、ダブらせておくのも手だが、一応比較してみる。
まずは、MCCの吐いたコードから。
肝心の部分は SPI1_Exchange() だ。
いっぱい書いてあるけど、余分を除けばこうなる。
ああ、やってることはわかる気がする。
登場するステイタス用のレジスタは以下の通り。
一方、Petit FatFsの方はこうなっている。
シンプルなのは、データの読み込みに特化しているからだと思う。
ステイタス確認用のレジスタが微妙に違うのもその関係だろう。