Seeker of Truth , / Mbed 2 deprecated master_sample

Dependencies:   mbed-rtos mbed

Fork of master_sample by sakthi priya amirtharaj

Committer:
raizel_varun
Date:
Sat Dec 06 13:25:46 2014 +0000
Revision:
1:d4903940ac9b
Parent:
0:b2ba86a47999
Child:
2:385ef26be324
s

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;
sakthipriya 0:b2ba86a47999 29 if(pc.getc()=='a'){
sakthipriya 0:b2ba86a47999 30 printf("\n backspace detected\n\r");
sakthipriya 0:b2ba86a47999 31 m2s_interrupt =1; //hardware interrupt from master to slave
raizel_varun 1:d4903940ac9b 32 // wait(10);
raizel_varun 1:d4903940ac9b 33 master_status_write = true;
sakthipriya 0:b2ba86a47999 34 //bool master_status_read = true;
sakthipriya 0:b2ba86a47999 35
sakthipriya 0:b2ba86a47999 36
sakthipriya 0:b2ba86a47999 37
sakthipriya 0:b2ba86a47999 38 // bool read_loop = true;
raizel_varun 1:d4903940ac9b 39 while(write_loop ){
sakthipriya 0:b2ba86a47999 40 printf("2 master clk freq setup and addressing slave\n\r");
sakthipriya 0:b2ba86a47999 41 master.frequency(100000); //set clock frequency
sakthipriya 0:b2ba86a47999 42 master.start(); //initiating the data transfer
sakthipriya 0:b2ba86a47999 43 master_status_write = (bool) master.write(addr|0x00,data_send,1);
raizel_varun 1:d4903940ac9b 44 if(master_status_write==0){
sakthipriya 0:b2ba86a47999 45 printf("3 master has written %c to slave\n\r",*data_send);
sakthipriya 0:b2ba86a47999 46 write_loop=false;
sakthipriya 0:b2ba86a47999 47 }
raizel_varun 1:d4903940ac9b 48 }
sakthipriya 0:b2ba86a47999 49
sakthipriya 0:b2ba86a47999 50 printf("done\n\r");
sakthipriya 0:b2ba86a47999 51 }}
sakthipriya 0:b2ba86a47999 52 }
sakthipriya 0:b2ba86a47999 53
sakthipriya 0:b2ba86a47999 54
sakthipriya 0:b2ba86a47999 55
sakthipriya 0:b2ba86a47999 56