LPCXpresso IDEには、SPI通信のサンプルプログラムも含まれています。SPIとは、Serial Peripheral Interfaceの略で、シリアル通信の規格です。SPI通信は以下の信号線で構成されます。
SCK:Serial Clock
MISO:Master In Slave Out
MOSI:Master Out Slave In
SS:Slave Select
LPCXpresso IDEのサンプルプログラムには、ssp.h, ssp.cというファイルが含まれており、これらをSPI通信用のドライバとして利用する事ができます。基本的には、問題なく使用できますが、スレーブのデバイスやハードウエアシステムの仕様によってドライバの設定部分を書き換える必要があります。従って自分で編集して設定する必要があり、サンプルのまま使用できるとは限りません。設定すべき最低限の項目としては、以下のものがあります。
【CPOL:クロック極性】
CPOLは、切り替え中でないときに、SCLKがハイ(CPOL = 1)またはロー(CPOL = 0)でアイドリングするのかどうかを決定します。
【CPHA:クロック位相】
CPHAは、どのSCLKのエッジでデータがシフトインおよびシフトアウトされるかを決定します。
他には、SCKクロックスピードの設定やSS(スレーブセレクト)の制御をGPIO制御にするか自動にするかなども設定します。ドライバファイル中には、コメント記されていますので、必要に応じて書き換えていきましょう。またssp.hやssp.cは必要に応じてファイルの名前を変えておくと後々、混乱せずにすみます。。そうしないとファイル名では内容が判らなくなってしまいます。
Sponsored Link