slave working
Dependencies: mbed slave_sample
Fork of slave_sample by
main.cpp@0:17326cfa2586, 2014-12-06 (annotated)
- Committer:
- sakthipriya
- Date:
- Sat Dec 06 07:31:56 2014 +0000
- Revision:
- 0:17326cfa2586
- Child:
- 1:d5cf8c6f7ef4
slave sample
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
sakthipriya | 0:17326cfa2586 | 1 | #include "mbed.h" |
sakthipriya | 0:17326cfa2586 | 2 | |
sakthipriya | 0:17326cfa2586 | 3 | #define interrupt D8 |
sakthipriya | 0:17326cfa2586 | 4 | |
sakthipriya | 0:17326cfa2586 | 5 | void write_to_master(char); //function to write data to master |
sakthipriya | 0:17326cfa2586 | 6 | DigitalOut led1(LED_RED); |
sakthipriya | 0:17326cfa2586 | 7 | I2CSlave slave(D14,D15); //configuring pins p27, p28 as I2Cslave |
sakthipriya | 0:17326cfa2586 | 8 | Serial pc(USBTX,USBRX); |
sakthipriya | 0:17326cfa2586 | 9 | InterruptIn m2s_interrupt(interrupt); |
sakthipriya | 0:17326cfa2586 | 10 | //int m2s = m2s_interrupt; |
sakthipriya | 0:17326cfa2586 | 11 | bool read_loop = true; |
sakthipriya | 0:17326cfa2586 | 12 | void write2slave() |
sakthipriya | 0:17326cfa2586 | 13 | { |
sakthipriya | 0:17326cfa2586 | 14 | printf("\nEntered slave code\n"); |
sakthipriya | 0:17326cfa2586 | 15 | char *data_rec = new char; |
sakthipriya | 0:17326cfa2586 | 16 | while(read_loop){ |
sakthipriya | 0:17326cfa2586 | 17 | slave.address(0x20); |
sakthipriya | 0:17326cfa2586 | 18 | int slave_status =1; |
sakthipriya | 0:17326cfa2586 | 19 | printf("\nentered slave while loop\n"); |
sakthipriya | 0:17326cfa2586 | 20 | // if(slave.receive()==3) |
sakthipriya | 0:17326cfa2586 | 21 | slave_status=slave.read(data_rec,1); |
sakthipriya | 0:17326cfa2586 | 22 | if(!slave_status){ |
sakthipriya | 0:17326cfa2586 | 23 | printf("1 read %c from master\n\r",*data_rec); |
sakthipriya | 0:17326cfa2586 | 24 | read_loop = false;} |
sakthipriya | 0:17326cfa2586 | 25 | } |
sakthipriya | 0:17326cfa2586 | 26 | printf("\n done \n \r"); |
sakthipriya | 0:17326cfa2586 | 27 | delete data_rec; |
sakthipriya | 0:17326cfa2586 | 28 | } |
sakthipriya | 0:17326cfa2586 | 29 | |
sakthipriya | 0:17326cfa2586 | 30 | void led() |
sakthipriya | 0:17326cfa2586 | 31 | { |
sakthipriya | 0:17326cfa2586 | 32 | led1=!led1; |
sakthipriya | 0:17326cfa2586 | 33 | } |
sakthipriya | 0:17326cfa2586 | 34 | |
sakthipriya | 0:17326cfa2586 | 35 | |
sakthipriya | 0:17326cfa2586 | 36 | int main(){ |
sakthipriya | 0:17326cfa2586 | 37 | |
sakthipriya | 0:17326cfa2586 | 38 | printf("interrupt for slave to start \n\r"); |
sakthipriya | 0:17326cfa2586 | 39 | m2s_interrupt.rise(&led); |
sakthipriya | 0:17326cfa2586 | 40 | //write2slave(); |
sakthipriya | 0:17326cfa2586 | 41 | } |
sakthipriya | 0:17326cfa2586 | 42 | |
sakthipriya | 0:17326cfa2586 | 43 | |
sakthipriya | 0:17326cfa2586 | 44 | |
sakthipriya | 0:17326cfa2586 | 45 |