Chaitanya Viswa
/
frdm_i2c_slave
gen slave
Fork of freeslave3_1 by
Diff: main.cpp
- Revision:
- 0:4ac2da8142db
diff -r 000000000000 -r 4ac2da8142db main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Fri Dec 05 10:37:01 2014 +0000 @@ -0,0 +1,41 @@ +#include "mbed.h" + +void write_to_master(char); //function to write data to master + +I2CSlave slave(D14,D15); //configuring pins p27, p28 as I2Cslave +Serial pc (USBTX,USBRX); + +void main(){ + printf("press backspace for slave to start \n\r"); + while(1){ + if(pc.getc()==8){ + bool read_loop = true; + char *data_rec = new char; + bool write_loop= true; + char *data_send = new char; + *data_send = 'k'; + slave.address(0x20); + int slave_status=1; + while(read_loop){ + if(slave.receive()==3){ + slave_status=slave.read(data_rec,1); + if(!slave_status){ + printf("1 read %c from master\n\r",*data_rec); + read_loop = false; + + while(write_loop){ + if(slave.receive()==1){ + slave_status=slave.write(data_send,1); + if(!slave_status){ + printf("2 wrote %c to master\n\r",*data_send); + write_loop = false; + } + } + } + } + } + printf("3 done"); + } + } + } +} \ No newline at end of file