slave

Dependencies:   mbed

Dependents:   slave_sample

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 
00003 #define interrupt D8
00004 
00005 void write_to_master(char);                    //function to write data to master
00006 DigitalOut led1(LED_RED);
00007 I2CSlave slave(D14,D15);                       //configuring pins p27, p28 as I2Cslave
00008 Serial pc(USBTX,USBRX);
00009 InterruptIn m2s_interrupt(interrupt);
00010 //int m2s = m2s_interrupt;
00011 bool read_loop = true;
00012 void write2slave()
00013 {
00014     printf("\nEntered slave code\n");
00015     char *data_rec = new char;
00016     while(read_loop){
00017                 slave.address(0x20);
00018                 int slave_status =1;
00019                 printf("\nentered slave while loop\n");
00020              //   if(slave.receive()==3) 
00021                     slave_status=slave.read(data_rec,1);
00022                 if(!slave_status){
00023                     printf("1 read %c from master\n\r",*data_rec);
00024                     read_loop = false;}
00025                     }
00026     printf("\n done \n \r");
00027     delete data_rec;
00028 }
00029      
00030 void led()
00031 {
00032     led1=!led1;
00033 }
00034 
00035                    
00036 int main(){
00037    
00038     printf("interrupt for slave to start \n\r");
00039     m2s_interrupt.rise(&led);
00040     //write2slave();
00041     }
00042     
00043     
00044 
00045