Testprogramm für BERTL 2014, der BULME Graz/Gösting. Die Taster vom I2C Expander werden direkt auf die LED's des Expander geschalten

Dependencies:   mbed

Fork of BERTL14_I2C_TEST by Wolfgang Raimann

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 /***********************************
00002 name:   BERTL14_I2C_TEST
00003 author: Wolfgang Raimann
00004 email:  rai@bulme.at
00005 description:
00006     Die Taster vom I2C Expander werden direkt auf die LED's des Expander geschalten
00007 ***********************************/
00008 
00009 #include "mbed.h"
00010 
00011 const int PCA9555_ADR = 0x40;
00012 #define I2C_WRITE   0
00013 #define I2C_READ    1
00014 
00015 I2C i2c(p28, p27);
00016 
00017 
00018 int main() {
00019     char btn = 0;
00020     // Config PCA9555 I0 as output    
00021     i2c.start();
00022     i2c.write(PCA9555_ADR + I2C_WRITE);
00023     i2c.write(0x06);
00024     i2c.write(0x00);
00025     i2c.stop();    
00026     
00027     while(1) {
00028         // Einlesen der Taster
00029         i2c.start();
00030         i2c.write(PCA9555_ADR + I2C_WRITE);
00031         i2c.write(0x01);
00032         i2c.start();
00033         i2c.write(PCA9555_ADR + I2C_READ);
00034         btn = i2c.read(0);
00035         i2c.stop();
00036         // Schreiben auf die LED's
00037         i2c.start();
00038         i2c.write(PCA9555_ADR + I2C_WRITE);
00039         i2c.write(0x02);
00040         i2c.write(~btn);
00041         i2c.stop();
00042     }
00043 }