pay d

Dependencies:   mbed-rtos mbed-src mbed

Fork of I2C_HelloWorld_Mbed by mbed official

Committer:
raizel_varun
Date:
Sat Jun 13 11:13:00 2015 +0000
Revision:
1:e42651c601d2
Parent:
0:f76c26307f9a
pay d

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 0:f76c26307f9a 1 #include "mbed.h"
raizel_varun 1:e42651c601d2 2 #include "rtos.h"
mbed_official 0:f76c26307f9a 3
raizel_varun 1:e42651c601d2 4 const int addr = 0x20<<1; //slave address
raizel_varun 1:e42651c601d2 5 I2C master (D14,D15); //configure pins p27,p28 as I2C master
raizel_varun 1:e42651c601d2 6 Serial pc (USBTX,USBRX);
raizel_varun 1:e42651c601d2 7 //DigitalOut interrupt(D9);
raizel_varun 1:e42651c601d2 8 //InterruptIn data_ready(D10);
raizel_varun 1:e42651c601d2 9 InterruptIn aple(D11);
mbed_official 0:f76c26307f9a 10
raizel_varun 1:e42651c601d2 11 DigitalOut pes(D12);
raizel_varun 1:e42651c601d2 12 DigitalOut led(LED_RED);
raizel_varun 1:e42651c601d2 13 DigitalOut led1(LED_GREEN);
raizel_varun 1:e42651c601d2 14
raizel_varun 1:e42651c601d2 15
mbed_official 0:f76c26307f9a 16
raizel_varun 1:e42651c601d2 17 bool f = 1;
raizel_varun 1:e42651c601d2 18 char rdata;
raizel_varun 1:e42651c601d2 19 void readds()
raizel_varun 1:e42651c601d2 20 { //wait();
raizel_varun 1:e42651c601d2 21 led = ! led ;
raizel_varun 1:e42651c601d2 22 f = master.read(addr,&rdata,1);
raizel_varun 1:e42651c601d2 23 if(f == 0) led1 = ! led1 ;
raizel_varun 1:e42651c601d2 24 //pc.printf("read %d \n",rdata);
raizel_varun 1:e42651c601d2 25
raizel_varun 1:e42651c601d2 26 }
raizel_varun 1:e42651c601d2 27
raizel_varun 1:e42651c601d2 28 int loop=1;
raizel_varun 1:e42651c601d2 29 char *writedata = new char;
raizel_varun 1:e42651c601d2 30 void FUNC_MASTER_WRITE()
raizel_varun 1:e42651c601d2 31 { int data = pc.getc();
raizel_varun 1:e42651c601d2 32 loop=1;
mbed_official 0:f76c26307f9a 33
raizel_varun 1:e42651c601d2 34 pc.printf("read ");
raizel_varun 1:e42651c601d2 35 master.frequency(100000);
raizel_varun 1:e42651c601d2 36 *writedata = data;
raizel_varun 1:e42651c601d2 37 while(loop)
raizel_varun 1:e42651c601d2 38 {
raizel_varun 1:e42651c601d2 39 bool check = (bool)master.write(addr,writedata,1);
raizel_varun 1:e42651c601d2 40 //pc.printf("read ");
raizel_varun 1:e42651c601d2 41 if(check==0)
raizel_varun 1:e42651c601d2 42 {
raizel_varun 1:e42651c601d2 43 pc.printf("written\n");
raizel_varun 1:e42651c601d2 44 loop=0;
raizel_varun 1:e42651c601d2 45 //readds();
raizel_varun 1:e42651c601d2 46
raizel_varun 1:e42651c601d2 47 }
raizel_varun 1:e42651c601d2 48
raizel_varun 1:e42651c601d2 49 }
raizel_varun 1:e42651c601d2 50 }
raizel_varun 1:e42651c601d2 51 int main()
raizel_varun 1:e42651c601d2 52 {
raizel_varun 1:e42651c601d2 53
raizel_varun 1:e42651c601d2 54 //data_ready.rise(&FUNC_INT);
raizel_varun 1:e42651c601d2 55 printf("\nstarted master\n");
raizel_varun 1:e42651c601d2 56 // aple.mode(PullDown);
raizel_varun 1:e42651c601d2 57 aple.rise(&readds);
raizel_varun 1:e42651c601d2 58 //aple.rise(&readds);
raizel_varun 1:e42651c601d2 59 while(1)
raizel_varun 1:e42651c601d2 60
raizel_varun 1:e42651c601d2 61 {
raizel_varun 1:e42651c601d2 62 pc.printf("read %d \n",rdata);
raizel_varun 1:e42651c601d2 63 //pes = 1;
raizel_varun 1:e42651c601d2 64 //wait(5);
raizel_varun 1:e42651c601d2 65 //pes = 0;
raizel_varun 1:e42651c601d2 66 //wait(5);
raizel_varun 1:e42651c601d2 67 // if(aple==1)led=!led;
raizel_varun 1:e42651c601d2 68 //FUNC_MASTER_WRITE();
mbed_official 0:f76c26307f9a 69 }
mbed_official 0:f76c26307f9a 70 }