RXduino  1.20a
RXduinoマニュアル 最終更新日 平成26年6月29日
tkdn_i2c.h
説明を見る。
1 /*******************************************************************************
2 * RXduinoライブラリ & 特電HAL
3 *
4 * このソフトウェアは特殊電子回路株式会社によって開発されたものです。
5 * 当社Webサイトを通じてダウンロードすることによって使用許諾されます。
6 * このファイルを第三者へ開示・再配布・貸与・譲渡することはできません。
7 * このソフトウェアはあるがままの状態で提供され、内容および動作についての保障はあ
8 * りません。弊社はファイルの内容および実行結果についていかなる責任も負いません。
9 * お客様は、お客様の製品開発のために当ソフトウェアのソースコードを自由に参照し、
10 * 引用していただくことができます。
11 * コンパイル・リンク後のオブジェクトファイル(ELF ファイルまたはMOT,SRECファイル)
12 * であって、デバッグ情報が削除されている場合は第三者に再配布することができます。
13 * (C) Copyright 2011-2014 TokushuDenshiKairo Inc. 特殊電子回路株式会社
14 * http://rx.tokudenkairo.co.jp/
15 *******************************************************************************/
16 
17 #ifndef TKDN_I2C_H_
18 #define TKDN_I2C_H_
19 /**************************************************************************/
26 #include "tkdn_hal.h"
27 
28 #ifdef __cplusplus
29  extern "C" {
30 #endif
31 
32 #define I2C_BUFSIZE 260
33 
34 typedef struct i2c_info
35 {
36 
37  int sda_pin;
38  int scl_pin;
39  unsigned char address;
40  unsigned char buf[I2C_BUFSIZE];
41  int wptr;
42  int rptr;
43  int ack_nack;
44 } i2c_info;
45 
46 /*********************************************************************/
56 void i2c_init(i2c_info *i2c,int sda, int scl);
57 
58 /*********************************************************************/
70 void i2c_init_slave(i2c_info *i2c,int sda, int scl,unsigned char addr);
71 
72 /*********************************************************************/
80 int i2c_request_from(i2c_info *i2c,unsigned char address, int count);
81 
82 /*********************************************************************/
87 int i2c_available(i2c_info *i2c);
88 
89 /*********************************************************************/
94 int i2c_read(i2c_info *i2c);
95 
96 /*********************************************************************/
103 void i2c_begin_transmission(i2c_info *i2c,unsigned char address);
104 
105 /*********************************************************************/
112 int i2c_write(i2c_info *i2c,unsigned char data);
113 
114 /*********************************************************************/
127 unsigned char i2c_end_transmission(i2c_info *i2c);
128 
129 /*********************************************************************/
135 void i2c_set_freq(int freq);
136 
137 #ifdef __cplusplus
138  }
139 #endif
140 
141 #endif /* TKDN_I2C_H_ */
int i2c_request_from(i2c_info *i2c, unsigned char address, int count)
I2Cデバイスに対して受信シーケンスを発行し、データを読み出す
int i2c_available(i2c_info *i2c)
受信バッファ内に格納されているデータ数を返す
void i2c_begin_transmission(i2c_info *i2c, unsigned char address)
I2Cデバイスに対して送信を開始するための準備をする
void i2c_set_freq(int freq)
I2Cの周波数を変更する
int i2c_write(i2c_info *i2c, unsigned char data)
送信バッファの末尾に1バイトのデータを追加する
void i2c_init(i2c_info *i2c, int sda, int scl)
I2C(マスター)を操作するための初期化
unsigned char i2c_end_transmission(i2c_info *i2c)
ターゲットデバイスに対してI2Cの送信シーケンスを発行する
void i2c_init_slave(i2c_info *i2c, int sda, int scl, unsigned char addr)
I2C(スレーブ)を操作するための初期化
int i2c_read(i2c_info *i2c)
受信バッファからデータを1バイト取り出す
特電HALのヘッダファイル