PCA9955A test program

Dependencies:   mbed

main.cpp

Committer:
okano
Date:
2014-08-01
Revision:
4:507e37f8008d
Parent:
3:dbe7902d4335
Child:
5:b93b28e126fe

File content as of revision 4:507e37f8008d:

#include "mbed.h"
#include "PCA9955A_registers.h"

I2C i2c( p28, p27 );    //  SDA, SCL

#define     SLAVE_ADDR              0x02

void register_write( char addr, char data );

int main()
{
    //  initialization

    register_write( MODE1,      0x00 );
    register_write( MODE2,      0x25 );
    register_write( LEDOUT0,    0xAA );
    register_write( LEDOUT1,    0xAA );
    register_write( LEDOUT2,    0xAA );
    register_write( LEDOUT3,    0xAA );
    register_write( IREFALL,    0x10 );

    //  operation loop

    while ( 1 ) {
        
        for ( int i = 0; i < 256; i++ ) {
            register_write( PWM0, i );
            wait( 0.01 );
        }

        for ( int i = 255; i >= 0; i-- ) {
            register_write( PWM0, i );
            wait( 0.01 );
        }
    }
}

void register_write( char addr, char data )
{
    char    d[ 2 ];

    d[ 0 ]   = addr;
    d[ 1 ]   = data;
    i2c.write( SLAVE_ADDR, d, 2 );
}