2 * @file i2c_subsystem.h
5 * @author Takemasa Nakamura
7 * 最初に @ref i2c_init 関数を使って、I2Cペリフェラルを初期化する。
8 * @ref i2c_send_2bytes 関数は2バイトデータをI2Cデバイスに送る関数である。
9 * この関数はアドホックな版であり、割り込みは使っていない。
12 #ifndef I2C_SUBSYSTEM_H_
13 #define I2C_SUBSYSTEM_H_
18 * I2C0にポートを割り当て、初期化する。
19 * I2C動作クロックは100kHzにしているが、
20 * これはI2Cの標準モードの最大クロックである。
21 * LPC1768のコアクロックは100MHzと計算しているが、
22 * もしコアクロックがことなるなら、再設定が必要である。
27 * @brief I2C0からTLV320AIC23Bへデータを送信する
28 * @param addr 7bitのI2Cアドレス。右揃え。
29 * @param data0 バイト0のデータ
30 * @param data1 バイト1のデータ
32 * 与えられたI2Cアドレスのデバイスに、2バイトデータを送る。
33 * 基本的にはLPC1768のユーザーズマニュアルUM10360で解説されている
34 * 状態遷移のうち、成功する場合だけをなぞっている。
35 * 失敗した場合にはメッセージを表示するだけで、とくに回復はしていない。
37 void i2c_send_2bytes( int addr, int data0, int data1 );
39 #endif /* I2C_SUBSYSTEM_H_ */