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

Committer:
bulme_rai
Date:
Wed May 07 10:02:43 2014 +0000
Revision:
0:7def09334278
Testprogramm f?r BERTL 2014, der BULME Graz/G?sting.; Die Taster vom I2C Expander werden direkt auf die LED's des Expander geschalten

Who changed what in which revision?

UserRevisionLine numberNew contents of line
bulme_rai 0:7def09334278 1 /***********************************
bulme_rai 0:7def09334278 2 name: BERTL14_I2C_TEST
bulme_rai 0:7def09334278 3 author: Wolfgang Raimann
bulme_rai 0:7def09334278 4 email: rai@bulme.at
bulme_rai 0:7def09334278 5 description:
bulme_rai 0:7def09334278 6 Die Taster vom I2C Expander werden direkt auf die LED's des Expander geschalten
bulme_rai 0:7def09334278 7 ***********************************/
bulme_rai 0:7def09334278 8
bulme_rai 0:7def09334278 9 #include "mbed.h"
bulme_rai 0:7def09334278 10
bulme_rai 0:7def09334278 11 const int PCA9555_ADR = 0x40;
bulme_rai 0:7def09334278 12 #define I2C_WRITE 0
bulme_rai 0:7def09334278 13 #define I2C_READ 1
bulme_rai 0:7def09334278 14
bulme_rai 0:7def09334278 15 I2C i2c(p28, p27);
bulme_rai 0:7def09334278 16
bulme_rai 0:7def09334278 17
bulme_rai 0:7def09334278 18 int main() {
bulme_rai 0:7def09334278 19 char btn = 0;
bulme_rai 0:7def09334278 20 // Config PCA9555 I0 as output
bulme_rai 0:7def09334278 21 i2c.start();
bulme_rai 0:7def09334278 22 i2c.write(PCA9555_ADR + I2C_WRITE);
bulme_rai 0:7def09334278 23 i2c.write(0x06);
bulme_rai 0:7def09334278 24 i2c.write(0x00);
bulme_rai 0:7def09334278 25 i2c.stop();
bulme_rai 0:7def09334278 26
bulme_rai 0:7def09334278 27 while(1) {
bulme_rai 0:7def09334278 28 // Einlesen der Taster
bulme_rai 0:7def09334278 29 i2c.start();
bulme_rai 0:7def09334278 30 i2c.write(PCA9555_ADR + I2C_WRITE);
bulme_rai 0:7def09334278 31 i2c.write(0x01);
bulme_rai 0:7def09334278 32 i2c.start();
bulme_rai 0:7def09334278 33 i2c.write(PCA9555_ADR + I2C_READ);
bulme_rai 0:7def09334278 34 btn = i2c.read(0);
bulme_rai 0:7def09334278 35 i2c.stop();
bulme_rai 0:7def09334278 36 // Schreiben auf die LED's
bulme_rai 0:7def09334278 37 i2c.start();
bulme_rai 0:7def09334278 38 i2c.write(PCA9555_ADR + I2C_WRITE);
bulme_rai 0:7def09334278 39 i2c.write(0x02);
bulme_rai 0:7def09334278 40 i2c.write(~btn);
bulme_rai 0:7def09334278 41 i2c.stop();
bulme_rai 0:7def09334278 42 }
bulme_rai 0:7def09334278 43 }