I2C制御サブシステム. More...
#include "i2c_subsystem.h"#include <LPC17xx.h>#include <kernel.h>#include <t_syslog.h>Functions | |
| void | i2c_init () |
| ISC0の初期化を行う。. | |
| void | i2c_send_2bytes (int addr, int data0, int data1) |
| I2C0からTLV320AIC23Bへデータを送信する. | |
I2C制御サブシステム.
| 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で解説されている状態遷移のうち、成功する場合だけをなぞっている。失敗した場合には メッセージを表示するだけで、とくに回復はしていない。
1.6.3