68 int I2C_rx(
void* my_i2c_v,
void* data_v,
int buffer_size);
77 int I2C_tx(
void* my_i2c_v,
void* data_v,
int data_size);
I2C_ERR_CODE
I2C用の汎用エラーコード
@ I2C_CH_ERR
チャンネル異常 (Port_configに無い)
@ I2C_RX_BUFFER_SMALL
受信バッファサイズが受信データ長より小さい
@ I2C_DATA_NEGA_ERR
送受信データサイズが負のエラー
@ I2C_ALREADY_ERR
チャンネルオープン済み
int I2C_init(void *my_i2c_v)
I2cConfig構造体をグローバルインスタンスとして定義し、ポインタを渡すことでポートを初期化します。
int I2C_reopen(void *my_i2c_v, int reason)
指定されたchを開きなおす
void I2C_set_rx_length(void *my_i2c_v, const uint32_t rx_length)
rx_lengthを設定する
int I2C_rx(void *my_i2c_v, void *data_v, int buffer_size)
I2cConfig構造体にて指定されたchからデータを受信します
int I2C_tx(void *my_i2c_v, void *data_v, int data_size)
I2cConfig構造体にて指定されたchへデータを送信します
void I2C_set_stop_flag(void *my_i2c_v, const uint8_t stop_flag)
stop_flagを設定する
uint8_t device_address
継承先の機器のアドレス
uint8_t stop_flag
最後にSTOPを送るか否かを選択 0->送らない,それ以外->送る
uint32_t rx_length
I2C通信における受信データ長 単位: Byte
uint8_t ch
継承先の機器がつながっているポート番号
uint32_t timeout_threshold
この値を超えるとタイムアウトエラーとなる 単位:カウント数(ユーザー依存) TODO: 時刻にするか要検討
uint32_t frequency_khz
I2Cクロックの周波数 単位:kHz