Seeker of Truth , / Mbed 2 deprecated slave_1

Dependencies:   mbed

Fork of slave_1 by sakthi priya amirtharaj

Committer:
sakthipriya
Date:
Sun Dec 07 07:38:30 2014 +0000
Revision:
1:afb4a0df7ff1
Parent:
0:ee332448b24c
Child:
2:ba6aa46cd931
commands with switch case

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sakthipriya 0:ee332448b24c 1 #include "mbed.h"
sakthipriya 0:ee332448b24c 2
sakthipriya 0:ee332448b24c 3 #define interrupt D9
sakthipriya 0:ee332448b24c 4
sakthipriya 0:ee332448b24c 5
sakthipriya 0:ee332448b24c 6 I2CSlave slave(D14,D15);
sakthipriya 0:ee332448b24c 7 Serial pc(USBTX,USBRX);
sakthipriya 0:ee332448b24c 8 InterruptIn m2s_interrupt(interrupt);
sakthipriya 0:ee332448b24c 9
sakthipriya 0:ee332448b24c 10 void execute_command(char* cmd);
sakthipriya 0:ee332448b24c 11
sakthipriya 0:ee332448b24c 12 void read_command()
sakthipriya 0:ee332448b24c 13 {
sakthipriya 1:afb4a0df7ff1 14 printf("\nEntered slave \n\r");
sakthipriya 1:afb4a0df7ff1 15 char *command = new char;
sakthipriya 1:afb4a0df7ff1 16 slave.address(0x20);
sakthipriya 1:afb4a0df7ff1 17 int slave_status =1;
sakthipriya 1:afb4a0df7ff1 18 slave.stop();
sakthipriya 1:afb4a0df7ff1 19 while(slave.receive()!=3);
sakthipriya 1:afb4a0df7ff1 20 while(slave_status)
sakthipriya 1:afb4a0df7ff1 21 slave_status=slave.read(command,1);
sakthipriya 1:afb4a0df7ff1 22 printf("\nread %c from master\n\r",*command);
sakthipriya 0:ee332448b24c 23 execute_command(command); //assumed command is very important
sakthipriya 0:ee332448b24c 24 printf("\n done \n \r");
sakthipriya 0:ee332448b24c 25 delete command;
sakthipriya 0:ee332448b24c 26 }
sakthipriya 0:ee332448b24c 27
sakthipriya 0:ee332448b24c 28 void execute_command(char* cmd)
sakthipriya 0:ee332448b24c 29 {
sakthipriya 0:ee332448b24c 30 switch(*cmd)
sakthipriya 0:ee332448b24c 31 {
sakthipriya 0:ee332448b24c 32 case '0':printf("\n command 0 executed \n\r");
sakthipriya 0:ee332448b24c 33 break;
sakthipriya 0:ee332448b24c 34 case '1':printf("\n command 1 executed \n\r");
sakthipriya 0:ee332448b24c 35 break;
sakthipriya 0:ee332448b24c 36 case '2':printf("\n command 2 executed \n\r");
sakthipriya 0:ee332448b24c 37 break;
sakthipriya 0:ee332448b24c 38 case '3':printf("\n command 3 executed \n\r");
sakthipriya 0:ee332448b24c 39 break;
sakthipriya 0:ee332448b24c 40 case '4':printf("\n command 4 executed \n\r");
sakthipriya 0:ee332448b24c 41 break;
sakthipriya 0:ee332448b24c 42 }
sakthipriya 0:ee332448b24c 43 }
sakthipriya 0:ee332448b24c 44
sakthipriya 0:ee332448b24c 45
sakthipriya 0:ee332448b24c 46
sakthipriya 1:afb4a0df7ff1 47 int main()
sakthipriya 1:afb4a0df7ff1 48 {
sakthipriya 1:afb4a0df7ff1 49 printf("\nwaiting for command from master\n\r");
sakthipriya 0:ee332448b24c 50 m2s_interrupt.rise(&read_command);
sakthipriya 0:ee332448b24c 51 while(1)
sakthipriya 0:ee332448b24c 52 {
sakthipriya 0:ee332448b24c 53 ;
sakthipriya 0:ee332448b24c 54 }
sakthipriya 1:afb4a0df7ff1 55 }