PCA9955A test program

Dependencies:   mbed

Committer:
okano
Date:
Fri Aug 01 07:11:31 2014 +0000
Revision:
4:507e37f8008d
Parent:
3:dbe7902d4335
Child:
5:b93b28e126fe
simplified operation of PCA9955A

Who changed what in which revision?

UserRevisionLine numberNew contents of line
okano 0:a173ba5ecb1a 1 #include "mbed.h"
okano 4:507e37f8008d 2 #include "PCA9955A_registers.h"
okano 0:a173ba5ecb1a 3
okano 0:a173ba5ecb1a 4 I2C i2c( p28, p27 ); // SDA, SCL
okano 0:a173ba5ecb1a 5
okano 0:a173ba5ecb1a 6 #define SLAVE_ADDR 0x02
okano 0:a173ba5ecb1a 7
okano 1:0a5e299bf3ef 8 void register_write( char addr, char data );
okano 0:a173ba5ecb1a 9
okano 0:a173ba5ecb1a 10 int main()
okano 0:a173ba5ecb1a 11 {
okano 4:507e37f8008d 12 // initialization
okano 4:507e37f8008d 13
okano 4:507e37f8008d 14 register_write( MODE1, 0x00 );
okano 4:507e37f8008d 15 register_write( MODE2, 0x25 );
okano 4:507e37f8008d 16 register_write( LEDOUT0, 0xAA );
okano 4:507e37f8008d 17 register_write( LEDOUT1, 0xAA );
okano 4:507e37f8008d 18 register_write( LEDOUT2, 0xAA );
okano 4:507e37f8008d 19 register_write( LEDOUT3, 0xAA );
okano 4:507e37f8008d 20 register_write( IREFALL, 0x10 );
okano 4:507e37f8008d 21
okano 4:507e37f8008d 22 // operation loop
okano 0:a173ba5ecb1a 23
okano 4:507e37f8008d 24 while ( 1 ) {
okano 4:507e37f8008d 25
okano 4:507e37f8008d 26 for ( int i = 0; i < 256; i++ ) {
okano 4:507e37f8008d 27 register_write( PWM0, i );
okano 4:507e37f8008d 28 wait( 0.01 );
okano 4:507e37f8008d 29 }
okano 0:a173ba5ecb1a 30
okano 4:507e37f8008d 31 for ( int i = 255; i >= 0; i-- ) {
okano 4:507e37f8008d 32 register_write( PWM0, i );
okano 4:507e37f8008d 33 wait( 0.01 );
okano 4:507e37f8008d 34 }
okano 1:0a5e299bf3ef 35 }
okano 0:a173ba5ecb1a 36 }
okano 1:0a5e299bf3ef 37
okano 1:0a5e299bf3ef 38 void register_write( char addr, char data )
okano 1:0a5e299bf3ef 39 {
okano 1:0a5e299bf3ef 40 char d[ 2 ];
okano 2:ead3652b6fd2 41
okano 1:0a5e299bf3ef 42 d[ 0 ] = addr;
okano 1:0a5e299bf3ef 43 d[ 1 ] = data;
okano 1:0a5e299bf3ef 44 i2c.write( SLAVE_ADDR, d, 2 );
okano 1:0a5e299bf3ef 45 }
okano 1:0a5e299bf3ef 46