PCA9955A test program

Dependencies:   mbed

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 );
+}
+