SPIはクロックパルスの極性と位相による動作モードが4通りあって設定がめんどくさい。
- モード0 : 正パルス前ラッチ (CPOL=0, CPHA=0)
- モード1 : 正パルス後ラッチ (CPOL=0, CPHA=1)
- モード2 : 負パルス前ラッチ (CPOL=1, CPHA=0)
- モード3 : 負パルス後ラッチ (CPOL=1, CPHA=1)
世の中のデバイスでいちばん多いのはモード3で、次いでモード0が多い気がする。メモリデバイスではモード0・モード3両対応のものが多い。逆にモード1やモード2のデバイスはあまり見ない気がする。
- モード0、モード3 : 立ち上がりエッジでラッチ、多数派
- モード1、モード2 : 立ち下がりエッジでラッチ、少数派
とりあえず「モード3は負パルス後ラッチ」ということをよくおぼえておけばよい。
【参考URL】