Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: MAX34417_demo MAXREFDES1265 MAXREFDES1265
Fork of mbed-dev by
I2CSlave Class Reference
[Drivers]
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. | |
| void | frequency (int hz) |
| Set the frequency of the I2C interface. | |
| int | receive (void) |
| Checks to see if this I2C Slave has been addressed. | |
| int | read (char *data, int length) |
| Read from an I2C master. | |
| int | read (void) |
| Read a single byte from an I2C master. | |
| int | write (const char *data, int length) |
| Write to an I2C master. | |
| int | write (int data) |
| Write a single byte to an I2C master. | |
| void | address (int address) |
| Sets the I2C slave address. | |
| void | stop (void) |
| Reset the I2C slave back into the known ready receiving state. | |
Detailed Description
An I2C Slave, used for communicating with an I2C Master device.
Synchronization level: Not protected
Example:
// Simple I2C responder #include <mbed.h> 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\n", buf); break; case I2CSlave::WriteAddressed: slave.read(buf, 10); printf("Read A: %s\n", buf); break; } for(int i = 0; i < 10; i++) buf[i] = 0; // Clear buffer } }
Definition at line 65 of file I2CSlave.h.
Generated on Tue Jul 12 2022 20:41:24 by
1.7.2
