gen slave

Dependencies:   mbed

Fork of freeslave3_1 by Chaitanya Viswa

main.cpp

Committer:
viswachaitanya
Date:
2014-12-05
Revision:
0:4ac2da8142db

File content as of revision 0:4ac2da8142db:

#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");
            }             
        }                
    }                
}