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: PCAL9555_Hello OM13082-JoyStick OM13082_LED OM13082-test ... more
PCAL9554.cpp
00001 #include "mbed.h" 00002 #include "PCAL9554.h" 00003 00004 00005 PCAL9554::PCAL9554( PinName i2c_sda, PinName i2c_scl, char i2c_address ) 00006 : PCAL955x( i2c_sda, i2c_scl, i2c_address ), n_of_pins( 8 ) 00007 { 00008 } 00009 00010 PCAL9554::PCAL9554( I2C &i2c_obj, char i2c_address ) 00011 : PCAL955x( i2c_obj, i2c_address ), n_of_pins( 8 ) 00012 { 00013 } 00014 00015 PCAL9554::~PCAL9554() 00016 { 00017 } 00018 00019 int PCAL9554::number_of_pins( void ) 00020 { 00021 return ( n_of_pins ); 00022 } 00023 00024 void PCAL9554::reg_index_write( char reg_index, int data ) 00025 { 00026 char a[ 2 ]; 00027 00028 a[ 0 ] = regmap[ reg_index ]; 00029 a[ 1 ] = data; 00030 00031 bus_write( a, sizeof( a ) ); 00032 } 00033 00034 int PCAL9554::reg_index_read( char reg_index ) 00035 { 00036 char a; 00037 00038 bus_read( regmap[ reg_index ], &a, sizeof( a ) ); 00039 00040 return ( a ); 00041 } 00042 00043 PCAL9554& PCAL9554::operator= ( int bit_pattern ) 00044 { 00045 write( bit_pattern ); 00046 return ( *this ); 00047 } 00048 00049 PCAL9554& PCAL9554::operator= ( PCAL9554& rhs ) 00050 { 00051 write( rhs.read() ); 00052 return *this; 00053 } 00054 00055 const char PCAL9554::regmap[] = { 00056 InputPort, 00057 OutoutPort, 00058 PolarityInversionPort, 00059 ConfigurationPort, 00060 OutputDriveStrength0, 00061 OutputDriveStrength1, 00062 InputLatch, 00063 PullUpPullDowmEnable, 00064 PullUpPullDowmSelection, 00065 InterruptMask, 00066 InterruptStatus, 00067 OutputPortConfiguration 00068 };
Generated on Tue Jul 12 2022 18:40:41 by
1.7.2
PCAL9555, PCAL9554: 16 & 8-bit GPIO expander with "DigitalInOut" and "BusInOut" compatible APIs