Seeker of Truth , / Mbed 2 deprecated master_sample

Dependencies:   mbed-rtos mbed

Fork of master_sample by sakthi priya amirtharaj

Committer:
raizel_varun
Date:
Sun Dec 07 09:11:25 2014 +0000
Revision:
2:385ef26be324
Parent:
1:d4903940ac9b
Child:
3:583585376a2d
slave2;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sakthipriya 0:b2ba86a47999 1 #include "mbed.h"
sakthipriya 0:b2ba86a47999 2
raizel_varun 1:d4903940ac9b 3 #define interrupt D9
sakthipriya 0:b2ba86a47999 4
sakthipriya 0:b2ba86a47999 5 const int addr = 0x20; //slave address
sakthipriya 0:b2ba86a47999 6 I2C master (D14,D15); //configure pins p27,p28 as I2C master
sakthipriya 0:b2ba86a47999 7 Serial pc(USBTX,USBRX);
sakthipriya 0:b2ba86a47999 8 DigitalOut m2s_interrupt(interrupt);
sakthipriya 0:b2ba86a47999 9
raizel_varun 1:d4903940ac9b 10
raizel_varun 1:d4903940ac9b 11
sakthipriya 0:b2ba86a47999 12 int main()
raizel_varun 1:d4903940ac9b 13 {
raizel_varun 1:d4903940ac9b 14
sakthipriya 0:b2ba86a47999 15 char* data_send = new char;
sakthipriya 0:b2ba86a47999 16 *data_send = 'b';
sakthipriya 0:b2ba86a47999 17 char *data_rec = new char;
sakthipriya 0:b2ba86a47999 18 *data_rec = 'b';
raizel_varun 1:d4903940ac9b 19 bool master_status_write = true;
raizel_varun 1:d4903940ac9b 20 master.start();
raizel_varun 1:d4903940ac9b 21 master_status_write = (bool) master.write(addr|0x00,data_send,1);
raizel_varun 1:d4903940ac9b 22 bool write_loop;
raizel_varun 1:d4903940ac9b 23 //m2s_interrupt=0;
sakthipriya 0:b2ba86a47999 24 while(1){
raizel_varun 1:d4903940ac9b 25 write_loop = true;
sakthipriya 0:b2ba86a47999 26 //printf("m2s_interrupt is 0");
sakthipriya 0:b2ba86a47999 27 printf("\npress a for master to start \n\r");
sakthipriya 0:b2ba86a47999 28 m2s_interrupt=0;
raizel_varun 2:385ef26be324 29 *data_send=pc.getc();
raizel_varun 2:385ef26be324 30 //if(pc.getc()=='a'){
raizel_varun 2:385ef26be324 31 printf("\ncommand detected\n\r");
sakthipriya 0:b2ba86a47999 32 m2s_interrupt =1; //hardware interrupt from master to slave
raizel_varun 1:d4903940ac9b 33 // wait(10);
raizel_varun 1:d4903940ac9b 34 master_status_write = true;
sakthipriya 0:b2ba86a47999 35 //bool master_status_read = true;
sakthipriya 0:b2ba86a47999 36
sakthipriya 0:b2ba86a47999 37
sakthipriya 0:b2ba86a47999 38
sakthipriya 0:b2ba86a47999 39 // bool read_loop = true;
raizel_varun 1:d4903940ac9b 40 while(write_loop ){
sakthipriya 0:b2ba86a47999 41 printf("2 master clk freq setup and addressing slave\n\r");
sakthipriya 0:b2ba86a47999 42 master.frequency(100000); //set clock frequency
sakthipriya 0:b2ba86a47999 43 master.start(); //initiating the data transfer
sakthipriya 0:b2ba86a47999 44 master_status_write = (bool) master.write(addr|0x00,data_send,1);
raizel_varun 1:d4903940ac9b 45 if(master_status_write==0){
sakthipriya 0:b2ba86a47999 46 printf("3 master has written %c to slave\n\r",*data_send);
sakthipriya 0:b2ba86a47999 47 write_loop=false;
sakthipriya 0:b2ba86a47999 48 }
raizel_varun 1:d4903940ac9b 49 }
sakthipriya 0:b2ba86a47999 50
sakthipriya 0:b2ba86a47999 51 printf("done\n\r");
raizel_varun 2:385ef26be324 52 }
sakthipriya 0:b2ba86a47999 53 }
sakthipriya 0:b2ba86a47999 54
sakthipriya 0:b2ba86a47999 55
sakthipriya 0:b2ba86a47999 56
sakthipriya 0:b2ba86a47999 57