I2C Slave
I 2 C Slaveを使用してI 2 C Masterと通信する.
同期レベル:保護されていません.
I 2 CSlaveクラスリファレンス
Public Member Functions
I2CSlave (PinName sda, PinName scl)
I 2 C Slaveインタフェースを作成し、指定したピンに接続します.その他
void
frequency (int hz)
I 2 Cインタフェースの周波数を設定します.
int
receive (void)
このI 2 Cスレーブデバイスがアドレスされているかどうかを確認します.もっと...
int
read(char * data,int length)
指定したバイト数をI 2 Cマスタから読み出す.もっと...
int
read (void)
I 2 Cマスタから1バイトを読み出す.もっと...
int
write(const char * data,int length)
I 2 Cマスタに書き込みます.もっと...
int
write (int data)
I 2 Cマスターに1バイトを書き込みます.もっと...
void
address (int address)
I 2 Cスレーブアドレスを設定します.もっと...
void
stop (void)
I 2 Cをデバイスから既知のレディ受信状態にリセットします.もっと...
I 2 CSlaveの例
この例を試して、I 2 C応答器の動作原理を確認します.
同期レベル:保護されていません.
I 2 CSlaveクラスリファレンス
Public Member Functions
I2CSlave (PinName sda, PinName scl)
I 2 C Slaveインタフェースを作成し、指定したピンに接続します.その他
void
frequency (int hz)
I 2 Cインタフェースの周波数を設定します.
int
receive (void)
このI 2 Cスレーブデバイスがアドレスされているかどうかを確認します.もっと...
int
read(char * data,int length)
指定したバイト数をI 2 Cマスタから読み出す.もっと...
int
read (void)
I 2 Cマスタから1バイトを読み出す.もっと...
int
write(const char * data,int length)
I 2 Cマスタに書き込みます.もっと...
int
write (int data)
I 2 Cマスターに1バイトを書き込みます.もっと...
void
address (int address)
I 2 Cスレーブアドレスを設定します.もっと...
void
stop (void)
I 2 Cをデバイスから既知のレディ受信状態にリセットします.もっと...
I 2 CSlaveの例
この例を試して、I 2 C応答器の動作原理を確認します.
#include
I2CSlave slave(p9, p10);
int main() {
char buf[10];
char msg[] = "Slave!";
slave.address(0xA0);
while (1) {
int i = slave.receive();
switch (i) {
case I2CSlave::ReadAddressed:
slave.write(msg, strlen(msg) + 1); // Includes null char
break;
case I2CSlave::WriteGeneral:
slave.read(buf, 10);
printf("Read G: %s
", buf);
break;
case I2CSlave::WriteAddressed:
slave.read(buf, 10);
printf("Read A: %s
", buf);
break;
}
for(int i = 0; i < 10; i++) buf[i] = 0; // Clear buffer
}
}