Modified I2C api to work with NRF's dynamic pin asignment.
Dependents: Seed_Barometer_Sensor_custom_I2C_lib
I2CX Class Reference
An I2C Master, used for communicating with I2C slave devices. More...
#include <I2CX.h>
Public Member Functions | |
I2CX (I2CName peripheral, PinName sda, PinName scl) | |
Create an I2CX Master interface, connected to the specified pins. | |
void | frequency (int hz) |
Set the frequency of the I2CX interface. | |
int | read (int address, char *data, int length, bool repeated=false) |
Read from an I2CX slave. | |
int | read (int ack) |
Read a single byte from the I2CX bus. | |
int | write (int address, const char *data, int length, bool repeated=false) |
Write to an I2CX slave. | |
int | write (int data) |
Write single byte out on the I2CX bus. | |
void | start (void) |
Creates a start condition on the I2CX bus. | |
void | stop (void) |
Creates a stop condition on the I2CX bus. |
Detailed Description
An I2C Master, used for communicating with I2C slave devices.
Example:
// Read from I2C slave at address 0x62 #include "mbed.h" #include "I2CX.h" I2CX i2c(I2C_0, p28, p27); int main() { int address = 0x62; char data[2]; i2c.read(address, data, 2); }
Definition at line 45 of file I2CX.h.
Constructor & Destructor Documentation
I2CX | ( | I2CName | peripheral, |
PinName | sda, | ||
PinName | scl | ||
) |
Member Function Documentation
void frequency | ( | int | hz ) |
int read | ( | int | address, |
char * | data, | ||
int | length, | ||
bool | repeated = false |
||
) |
Read from an I2CX slave.
Performs a complete read transaction. The bottom bit of the address is forced to 1 to indicate a read.
- Parameters:
-
address 8-bit I2CX slave address [ addr | 1 ] data Pointer to the byte-array to read data in to length Number of bytes to read repeated Repeated start, true - don't send stop at end
- Returns:
- 0 on success (ack), non-0 on failure (nack)
int read | ( | int | ack ) |
void start | ( | void | ) |
void stop | ( | void | ) |
int write | ( | int | data ) |
int write | ( | int | address, |
const char * | data, | ||
int | length, | ||
bool | repeated = false |
||
) |
Write to an I2CX slave.
Performs a complete write transaction. The bottom bit of the address is forced to 0 to indicate a write.
- Parameters:
-
address 8-bit I2CX slave address [ addr | 0 ] data Pointer to the byte-array data to send length Number of bytes to send repeated Repeated start, true - do not send stop at end
- Returns:
- 0 on success (ack), non-0 on failure (nack)
Generated on Wed Jul 13 2022 04:26:58 by 1.7.2