I2C制御関数群. More...
Go to the source code of this file.
Functions | |
void | i2c_init () |
ISC0の初期化を行う。. | |
void | i2c_send_2bytes (int addr, int data0, int data1) |
I2C0からTLV320AIC23Bへデータを送信する. |
I2C制御関数群.
最初に i2c_init 関数を使って、I2Cペリフェラルを初期化する。i2c_send_2bytes 関数は2バイト データをI2Cデバイスに送る関数である。この関数はアドホックな版であり、割り込みは使っていない。
使ってDMA
void i2c_init | ( | ) |
ISC0の初期化を行う。.
I2C0にポートを割り当て、初期化する。I2C動作クロックは100kHzにしているが、 これはI2Cの標準モードの最大クロックである。LPC1768のコアクロックは 100MHzと計算しているが、もしコアクロックがことなるなら、再設定が必要である。
P0.27, P0.28を SCL0, SDA0に
void i2c_send_2bytes | ( | int | addr, | |
int | data0, | |||
int | data1 | |||
) |
I2C0からTLV320AIC23Bへデータを送信する.
addr | 7bitのI2Cアドレス。右揃え。 | |
data0 | バイト0のデータ | |
data1 | バイト1のデータ |
与えられたI2Cアドレスのデバイスに、2バイトデータを送る。基本的にはLPC1768のユーザーズマニュアル UM10360で解説されている状態遷移のうち、成功する場合だけをなぞっている。失敗した場合には メッセージを表示するだけで、とくに回復はしていない。