An I2C Slave, used for communicating with an I2C Master device. More...
#include <I2CSlave.h>
 
  
 | Public Member Functions | |
| I2CSlave (PinName sda, PinName scl) | |
| Create an I2C Slave interface, connected to the specified pins.  More... | |
| void | frequency (int hz) | 
| Set the frequency of the I2C interface.  More... | |
| void | timeout (uint32_t timeout) | 
| Configure the timeout duration in microseconds for blocking transmission.  More... | |
| int | receive (void) | 
| Check if this I2C Slave has been addressed.  More... | |
| int | read (char *data, int length) | 
| Read specified number of bytes from an I2C master.  More... | |
| int | read (void) | 
| Read a single byte from an I2C master.  More... | |
| int | write (const char *data, int length) | 
| Write to an I2C master.  More... | |
| int | write (int data) | 
| Write a single byte to an I2C master.  More... | |
| void | address (int address) | 
| Set the I2C slave address.  More... | |
| void | stop (void) | 
| Reset the I2C slave back into the known ready receiving state.  More... | |
An I2C Slave, used for communicating with an I2C Master device.
Example Simple I2C responder:
Definition at line 73 of file I2CSlave.h.
| I2CSlave | ( | PinName | sda, | 
| PinName | scl | ||
| ) | 
| void address | ( | int | address | ) | 
Set the I2C slave address.
| address | The address to set for the slave (least significant bit is ignored). | 
| void frequency | ( | int | hz | ) | 
Set the frequency of the I2C interface.
| hz | The bus frequency in Hertz. | 
| int read | ( | char * | data, | 
| int | length | ||
| ) | 
Read specified number of bytes from an I2C master.
| data | Pointer to the buffer to read data into. | 
| length | Number of bytes to read. | 
| 0 | If the number of bytes read is equal to length requested. | 
| nonzero | On error or if the number of bytes read is less than requested. | 
| int read | ( | void | ) | 
Read a single byte from an I2C master.
| int receive | ( | void | ) | 
Check if this I2C Slave has been addressed.
| NoData | The slave has not been addressed. | 
| ReadAddressed | The master has requested a read from this slave. | 
| WriteAddressed | The master is writing to this slave. | 
| WriteGeneral | The master is writing to all slave. | 
| void stop | ( | void | ) | 
Reset the I2C slave back into the known ready receiving state.
| void timeout | ( | uint32_t | timeout | ) | 
Configure the timeout duration in microseconds for blocking transmission.
| timeout | Transmission timeout in microseconds. | 
| int write | ( | const char * | data, | 
| int | length | ||
| ) | 
Write to an I2C master.
| data | Pointer to the buffer containing the data to be sent. | 
| length | Number of bytes to send. | 
| 0 | If written all bytes successfully. | 
| nonzero | On error or if the number of bytes written is less than requested. | 
| int write | ( | int | data | ) | 
Write a single byte to an I2C master.
| data | Value to write. | 
| 0 | If a NACK is received. | 
| 1 | If an ACK is received. | 
| 2 | On timeout. |