Hello program for PCA9546A component 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.
Dependencies: LM75B PCA9546A mbed
Revision 0:c88a1756cfd3, committed 2015-02-23
- Comitter:
- okano
- Date:
- Mon Feb 23 06:07:56 2015 +0000
- Commit message:
- initial version
Changed in this revision
diff -r 000000000000 -r c88a1756cfd3 LM75B.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/LM75B.lib Mon Feb 23 06:07:56 2015 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/chris/code/LM75B/#6a70c9303bbe
diff -r 000000000000 -r c88a1756cfd3 PCA9546A.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/PCA9546A.lib Mon Feb 23 06:07:56 2015 +0000 @@ -0,0 +1,1 @@ +http://developer.mbed.org/users/okano/code/PCA9546A/#2d50d8bba33e
diff -r 000000000000 -r c88a1756cfd3 main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Mon Feb 23 06:07:56 2015 +0000 @@ -0,0 +1,52 @@ +/** + * PCA9546A library "Hello world" sample + * + * @author Tedd OKANO + * @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 + * + */ + +#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 ); + } +}
diff -r 000000000000 -r c88a1756cfd3 mbed.bld --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Mon Feb 23 06:07:56 2015 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/9ad691361fac \ No newline at end of file