slave
Embed:
(wiki syntax)
Show/hide line numbers
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
Generated on Sat Aug 27 2022 05:55:57 by
1.7.2