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.
PCA9546A Class Reference
#include <PCA9546A.h>
Public Member Functions | |
| PCA9546A (PinName sda, PinName scl, char i2c_address=0xE0) | |
| Create a PCA9546A instance connected to specified I2C pins with specified address. | |
| PCA9546A (I2C &i2c_, char i2c_address=0xE0) | |
| Create a PCA9546A instance connected to specified I2C pins with specified address. | |
| ~PCA9546A () | |
| Destructor of PCA9546A. | |
| void | on (char channel) |
| Turning-ON a channel. | |
| void | off (char channel) |
| Turning-OFF a channel. | |
| void | bitpattern (char pattern) |
| Switching by bit pattern. | |
Detailed Description
PCA9546A class.
PCA9546A: an I2C bus switch control library
The PCA9546A is a quad bidirectional translating switch controlled via the I2C-bus. The SCL/SDA upstream pair fans out to four downstream pairs, or channels. Any individual SCx/SDx channel or combination of channels can be selected, determined by the contents of the programmable control register.
For more information about PCA9546A: http://www.nxp.com/documents/data_sheet/PCA9546A.pdf
Example:
#include "mbed.h" #include "LM75B.h" #include "PCA9546A.h" PCA9546A i2c_sw( p28, p27, 0xE0 ); int main() { // all PCA9546A's downstream ports are OFF after power-up and hardware-reset i2c_sw.on( 0 ); // turn-ON the channel 0 LM75B tmp0( p28, p27 ); // making instance after a branch of I2C bus (which is connecting the LM75B) enabled i2c_sw.off( 0 ); // turn-OFF the channel 0 i2c_sw.on( 1 ); // turn-ON the channel 1 LM75B tmp1( p28, p27 ); // making instance after a branch of I2C bus (which is connecting the LM75B) enabled while(1) { i2c_sw.off( 1 ); // turn-OFF the channel 1 i2c_sw.on( 0 ); // turn-ON the channel 0 printf( "%.3f\r\n", tmp0.read() ); i2c_sw.off( 0 ); // turn-OFF the channel 0 i2c_sw.on( 1 ); // turn-ON the channel 1 printf( "%.3f\r\n", tmp1.read() ); wait( 1.0 ); } }
Definition at line 76 of file PCA9546A.h.
Constructor & Destructor Documentation
| PCA9546A | ( | PinName | sda, |
| PinName | scl, | ||
| char | i2c_address = 0xE0 |
||
| ) |
Create a PCA9546A instance connected to specified I2C pins with specified address.
PCA9546A library.
- Parameters:
-
sda I2C-bus SDA pin scl I2C-bus SCL pin i2c_address I2C-bus address (default: 0xE0)
- Version:
- 0.1
- Date:
- Feb-2015
PCA9546A: an I2C bus switch control library
The PCA9546A is a quad bidirectional translating switch controlled via the I2C-bus. The SCL/SDA upstream pair fans out to four downstream pairs, or channels. Any individual SCx/SDx channel or combination of channels can be selected, determined by the contents of the programmable control register.
For more information about PCA9546A: http://www.nxp.com/documents/data_sheet/PCA9546A.pdf
Definition at line 23 of file PCA9546A.cpp.
| PCA9546A | ( | I2C & | i2c_, |
| char | i2c_address = 0xE0 |
||
| ) |
Create a PCA9546A instance connected to specified I2C pins with specified address.
- Parameters:
-
&i2c_ I2C object (instance) i2c_address I2C-bus address (default: 0xE0)
Definition at line 30 of file PCA9546A.cpp.
| ~PCA9546A | ( | ) |
Destructor of PCA9546A.
Definition at line 37 of file PCA9546A.cpp.
Member Function Documentation
| void bitpattern | ( | char | pattern ) |
Switching by bit pattern.
Switch setting by bit pattern. Set '1' for ON, set '0' for OFF LSB is channel 0. Channels 1, 2 and 3 are mapped in shifted position from LSB
- Parameters:
-
pattern ON/OFF bit pattern for channels
Definition at line 57 of file PCA9546A.cpp.
| void off | ( | char | channel ) |
Turning-OFF a channel.
Switching a channel OFF
- Parameters:
-
channel channel number
Definition at line 50 of file PCA9546A.cpp.
| void on | ( | char | channel ) |
Turning-ON a channel.
Switching a channel ON
- Parameters:
-
channel channel number
Definition at line 43 of file PCA9546A.cpp.
Generated on Wed Jul 13 2022 09:41:37 by
1.7.2
PCA9546A: 4-channel I2C switch