Tedd OKANO
/
PCA9955A_simple
PCA9955A test program
Diff: main.cpp
- Revision:
- 1:0a5e299bf3ef
- Parent:
- 0:a173ba5ecb1a
- Child:
- 2:ead3652b6fd2
--- a/main.cpp Fri Jul 11 03:04:51 2014 +0000 +++ b/main.cpp Fri Jul 18 00:57:21 2014 +0000 @@ -12,6 +12,7 @@ #define PWMALL_REGISTER_ADDR 0x44 #define IREFALL_REGISTER_ADDR 0x45 +void register_write( char addr, char data ); int main() { @@ -22,18 +23,35 @@ i2c.write( SLAVE_ADDR, init_data0, sizeof( init_data0 ) ); i2c.write( SLAVE_ADDR, init_data1, sizeof( init_data1 ) ); + for ( int i = 0; i < 256; i++ ) { + register_write( PWMALL_REGISTER_ADDR, i ); + wait( 0.01 ); + } + + +#if 1 + while(1) { for ( int port = 0; port < 16; port++ ) { for ( int i = 0; i < 256; i++ ) { if ( !port && !i ) - data[ 0 ] = PWMALL_REGISTER_ADDR; + register_write( PWMALL_REGISTER_ADDR, 0 ); else - data[ 0 ] = port + PWM_REGISTER_START; - - data[ 1 ] = i; - - i2c.write( SLAVE_ADDR, data, 2 ); + register_write( port + PWM_REGISTER_START, i );; } } } + +#endif + } + +void register_write( char addr, char data ) +{ + char d[ 2 ]; + + d[ 0 ] = addr; + d[ 1 ] = data; + i2c.write( SLAVE_ADDR, d, 2 ); +} +