SPI

(2014.8.31 作成)

 I2Cが旧フィリップス社の提唱した規格ならば、一方のSPIは旧モトローラ社の提唱した規格です。I2Cと共に頻繁にチップ間通信に使用される規格です。仕様の詳細は多くのサイトで紹介されているのでそちらに譲るとして、管理人の勝手な印象としてはSPIはI2Cに比べて

  • 通信速度が速い。
  • チップ選択ピンが必要なためスレーブデバイスが増えると配線が多くなり面倒。
  • 規格に自由度が高いので調べるのがちょっと面倒。

という印象です。

 SPIの規格全てに対応するクラスを作成するとオプションが膨大になりすぎて逆に使いにくいクラスになってしまいますので、ここで紹介しているクラスは以下の仕様に制限しています。

  • マスタ動作のみ
  • チップ選択ピン(SS,CSなどと表記される)はこのクラス内では制御しない。1マスタ-1スレーブの環境がありえるためです。
  • 4ピン接続(下図参照)のみ。3ピン接続は対象外。

 基底クラスおよびマイコン毎の実装はサイドメニューよりご覧ください。またこのSPIクラスを含むソースコードはこちらよりダウンロードしていただけます。