Hello World example for the PCF8574

Dependencies:   PCF8574 mbed

Fork of PCF8574_HelloWorld by Simon Ford

Committer:
aslam
Date:
Wed May 20 10:26:52 2015 +0000
Revision:
2:92715b8bee8f
Parent:
1:873215cad8d2
4x4 keypad interfacing through i2c to gpio expander IC (PCF8574)

Who changed what in which revision?

UserRevisionLine numberNew contents of line
simon 0:c259a8e53a38 1 #include "mbed.h"
simon 0:c259a8e53a38 2 #include "PCF8574.h"
simon 0:c259a8e53a38 3
aslam 2:92715b8bee8f 4 #define BAUD 9600
aslam 2:92715b8bee8f 5 InterruptIn event(p12);
aslam 2:92715b8bee8f 6 Serial pc(USBTX, USBRX);
aslam 2:92715b8bee8f 7 PCF8574 io(p9,p10,0x40);
aslam 2:92715b8bee8f 8 int data1 , data2;
aslam 1:873215cad8d2 9
aslam 2:92715b8bee8f 10 void display(int data)
aslam 2:92715b8bee8f 11 {
aslam 2:92715b8bee8f 12 switch (data)
aslam 1:873215cad8d2 13 {
aslam 2:92715b8bee8f 14 case 238: pc.printf("SW1 \n\r"); break;
aslam 2:92715b8bee8f 15 case 237: pc.printf("SW2 \n\r"); break;
aslam 2:92715b8bee8f 16 case 235: pc.printf("SW3 \n\r"); break;
aslam 2:92715b8bee8f 17 case 231: pc.printf("SW4 \n\r"); break;
aslam 2:92715b8bee8f 18 case 222: pc.printf("SW5 \n\r"); break;
aslam 2:92715b8bee8f 19 case 221: pc.printf("SW6 \n\r"); break;
aslam 2:92715b8bee8f 20 case 219: pc.printf("SW7 \n\r"); break;
aslam 2:92715b8bee8f 21 case 215: pc.printf("SW8 \n\r"); break;
aslam 2:92715b8bee8f 22 case 190: pc.printf("SW9 \n\r"); break;
aslam 2:92715b8bee8f 23 case 189: pc.printf("SW10 \n\r"); break;
aslam 2:92715b8bee8f 24 case 187: pc.printf("SW11 \n\r"); break;
aslam 2:92715b8bee8f 25 case 183: pc.printf("SW12 \n\r"); break;
aslam 2:92715b8bee8f 26 case 126: pc.printf("SW13 \n\r"); break;
aslam 2:92715b8bee8f 27 case 125: pc.printf("SW14 \n\r"); break;
aslam 2:92715b8bee8f 28 case 123: pc.printf("SW15 \n\r"); break;
aslam 2:92715b8bee8f 29 case 119: pc.printf("SW16 \n\r"); break;
aslam 2:92715b8bee8f 30 }
aslam 1:873215cad8d2 31 }
aslam 2:92715b8bee8f 32
aslam 2:92715b8bee8f 33 void trigger()
aslam 2:92715b8bee8f 34 {
aslam 2:92715b8bee8f 35 //event.fall(NULL);
aslam 2:92715b8bee8f 36 //printf("triggered!\n");
aslam 2:92715b8bee8f 37 io.write(0x0f);
aslam 2:92715b8bee8f 38 data1 = io.read();
aslam 2:92715b8bee8f 39
aslam 2:92715b8bee8f 40 io.write(0xf0);
aslam 2:92715b8bee8f 41 data2 = io.read();
aslam 2:92715b8bee8f 42
aslam 2:92715b8bee8f 43 display(data1+data2);
aslam 2:92715b8bee8f 44 //wait(0.2);
aslam 2:92715b8bee8f 45 //event.fall(&trigger);
aslam 2:92715b8bee8f 46 }
aslam 2:92715b8bee8f 47
aslam 2:92715b8bee8f 48 int main()
aslam 2:92715b8bee8f 49 {
aslam 2:92715b8bee8f 50 pc.printf("Start\n\r");
aslam 2:92715b8bee8f 51 event.fall(&trigger);
aslam 2:92715b8bee8f 52 //event.rise(&trigger);
aslam 2:92715b8bee8f 53 while(1)
aslam 2:92715b8bee8f 54 {
aslam 2:92715b8bee8f 55
aslam 2:92715b8bee8f 56 }
aslam 1:873215cad8d2 57 }