Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
main.cpp@0:ee332448b24c, 2014-12-06 (annotated)
- Committer:
- sakthipriya
- Date:
- Sat Dec 06 13:03:55 2014 +0000
- Revision:
- 0:ee332448b24c
- Child:
- 1:afb4a0df7ff1
slave
Who changed what in which revision?
| User | Revision | Line number | New 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 | 0:ee332448b24c | 14 | bool read_loop = true; |
| sakthipriya | 0:ee332448b24c | 15 | printf("\nEntered slave \n"); |
| sakthipriya | 0:ee332448b24c | 16 | char *command = new char; |
| sakthipriya | 0:ee332448b24c | 17 | while(read_loop){ |
| sakthipriya | 0:ee332448b24c | 18 | slave.address(0x20); |
| sakthipriya | 0:ee332448b24c | 19 | int slave_status =1; |
| sakthipriya | 0:ee332448b24c | 20 | slave_status=slave.read(command,1); |
| sakthipriya | 0:ee332448b24c | 21 | if(!slave_status){ |
| sakthipriya | 0:ee332448b24c | 22 | printf("read %c from master\n\r",*command); |
| sakthipriya | 0:ee332448b24c | 23 | read_loop = false;} |
| sakthipriya | 0:ee332448b24c | 24 | } |
| sakthipriya | 0:ee332448b24c | 25 | execute_command(command); //assumed command is very important |
| sakthipriya | 0:ee332448b24c | 26 | printf("\n done \n \r"); |
| sakthipriya | 0:ee332448b24c | 27 | delete command; |
| sakthipriya | 0:ee332448b24c | 28 | } |
| sakthipriya | 0:ee332448b24c | 29 | |
| sakthipriya | 0:ee332448b24c | 30 | void execute_command(char* cmd) |
| sakthipriya | 0:ee332448b24c | 31 | { |
| sakthipriya | 0:ee332448b24c | 32 | switch(*cmd) |
| sakthipriya | 0:ee332448b24c | 33 | { |
| sakthipriya | 0:ee332448b24c | 34 | case '0':printf("\n command 0 executed \n\r"); |
| sakthipriya | 0:ee332448b24c | 35 | break; |
| sakthipriya | 0:ee332448b24c | 36 | case '1':printf("\n command 1 executed \n\r"); |
| sakthipriya | 0:ee332448b24c | 37 | break; |
| sakthipriya | 0:ee332448b24c | 38 | case '2':printf("\n command 2 executed \n\r"); |
| sakthipriya | 0:ee332448b24c | 39 | break; |
| sakthipriya | 0:ee332448b24c | 40 | case '3':printf("\n command 3 executed \n\r"); |
| sakthipriya | 0:ee332448b24c | 41 | break; |
| sakthipriya | 0:ee332448b24c | 42 | case '4':printf("\n command 4 executed \n\r"); |
| sakthipriya | 0:ee332448b24c | 43 | break; |
| sakthipriya | 0:ee332448b24c | 44 | } |
| sakthipriya | 0:ee332448b24c | 45 | } |
| sakthipriya | 0:ee332448b24c | 46 | |
| sakthipriya | 0:ee332448b24c | 47 | |
| sakthipriya | 0:ee332448b24c | 48 | |
| sakthipriya | 0:ee332448b24c | 49 | int main(){ |
| sakthipriya | 0:ee332448b24c | 50 | |
| sakthipriya | 0:ee332448b24c | 51 | printf("waiting for commands from master"); |
| sakthipriya | 0:ee332448b24c | 52 | m2s_interrupt.rise(&read_command); |
| sakthipriya | 0:ee332448b24c | 53 | while(1) |
| sakthipriya | 0:ee332448b24c | 54 | { |
| sakthipriya | 0:ee332448b24c | 55 | ; |
| sakthipriya | 0:ee332448b24c | 56 | } |
| sakthipriya | 0:ee332448b24c | 57 | //write2slave(); |
| sakthipriya | 0:ee332448b24c | 58 | } |