LPCXpesso IDE 〜 I2C通信

前回の記事ではSPI通信を取り上げましたが、今回は、LPCXpresso IDEでの、I2C通信の使い方をご紹介したいと思います。I2C通信の信号線は、以下の2線です。
SCL:シリアル・クロック
SDA:シリアル・データ
マスタとスレーブが存在し双方向通信できます。アドレスが付与されるので、複数個のデバイスを接続できるのが特長です。
LPCXpresso IDEには、SPI通信と同様にサンプルプログラムが含まれています。i2c.hとi2c.cがdriverディレクトリにありますので、これをドライバとして使用する事ができますが、ハードウエアの仕様に合わせて内容を書き換える必要があります。LPCXpressoをマスタ・デバイスとする場合の一例として、最低でも以下の部分を書き換える必要があります。

Continue Reading →

LPCXpresso IDE 〜 割り込み処理

前回は、Systic Timerを使用したディレイを紹介しました。これはInterruptを利用したもので、割り込み処理、例外処理などと呼ばれます。これ以外にもピン割り込みなど様々な種類がありハンドラと呼ばれる関数内に、割り込み(例外)が生じたときの処理を記述します。割り込みが生じるとメインループの処理から一時的に、ハンドラ内の処理が行われて終了すると元のループに戻るイメージとなります。
前回の記事では、下記のコード部分に相当します。

Continue Reading →