4180Lab1Part5

Dependencies:   mbed

Committer:
CRaslawski
Date:
Mon Feb 27 22:32:33 2017 +0000
Revision:
0:5bfc0a45db24
initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
CRaslawski 0:5bfc0a45db24 1 #include <mbed.h>
CRaslawski 0:5bfc0a45db24 2 #include <mpr121.h>
CRaslawski 0:5bfc0a45db24 3
CRaslawski 0:5bfc0a45db24 4 DigitalOut led1(LED1);
CRaslawski 0:5bfc0a45db24 5 DigitalOut led2(LED2);
CRaslawski 0:5bfc0a45db24 6 DigitalOut led3(LED3);
CRaslawski 0:5bfc0a45db24 7 DigitalOut led4(LED4);
CRaslawski 0:5bfc0a45db24 8
CRaslawski 0:5bfc0a45db24 9 InterruptIn interrupt(p26); //interrupt receiver
CRaslawski 0:5bfc0a45db24 10
CRaslawski 0:5bfc0a45db24 11 //i2c bus on pins 28(SDA) and 27(SCL)
CRaslawski 0:5bfc0a45db24 12 I2C i2c(p28, p27);
CRaslawski 0:5bfc0a45db24 13
CRaslawski 0:5bfc0a45db24 14 //Setup the Mpr121:
CRaslawski 0:5bfc0a45db24 15 //ctor
CRaslawski 0:5bfc0a45db24 16 Mpr121 mpr121(&i2c, Mpr121::ADD_VSS);
CRaslawski 0:5bfc0a45db24 17
CRaslawski 0:5bfc0a45db24 18 //key hit interrupt routine
CRaslawski 0:5bfc0a45db24 19 void fallInterrupt() {
CRaslawski 0:5bfc0a45db24 20 int key_code = 0;
CRaslawski 0:5bfc0a45db24 21 int i = 0;
CRaslawski 0:5bfc0a45db24 22 int value = mpr121.read(0x00);
CRaslawski 0:5bfc0a45db24 23 value += mpr121.read(0x01) << 8;
CRaslawski 0:5bfc0a45db24 24 //LED demo mod
CRaslawski 0:5bfc0a45db24 25 i = 0;
CRaslawski 0:5bfc0a45db24 26 //puts key number out to LEDs for demo
CRaslawski 0:5bfc0a45db24 27 for (i = 0; i<12; i++) {
CRaslawski 0:5bfc0a45db24 28 if (((value>>i)&0x01)==1) key_code=i+1;
CRaslawski 0:5bfc0a45db24 29 }
CRaslawski 0:5bfc0a45db24 30 led4=key_code & 0x01;
CRaslawski 0:5bfc0a45db24 31 led3=(key_code>>1) & 0x01;
CRaslawski 0:5bfc0a45db24 32 led2=(key_code>>2) & 0x01;
CRaslawski 0:5bfc0a45db24 33 led1=(key_code>>3) & 0x01;
CRaslawski 0:5bfc0a45db24 34 }
CRaslawski 0:5bfc0a45db24 35
CRaslawski 0:5bfc0a45db24 36 int main() {
CRaslawski 0:5bfc0a45db24 37 interrupt.fall(&fallInterrupt);
CRaslawski 0:5bfc0a45db24 38 interrupt.mode(PullUp);
CRaslawski 0:5bfc0a45db24 39 }