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.
Fork of BAE_FRDMTESIN2 by
Revision 10:ed6d3b8d1d56, committed 2014-12-16
- Comitter:
- greenroshks
- Date:
- Tue Dec 16 07:44:54 2014 +0000
- Parent:
- 9:221d218f4690
- Commit message:
- working
Changed in this revision
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
slave.cpp | Show annotated file Show diff for this revision Revisions of this file |
diff -r 221d218f4690 -r ed6d3b8d1d56 main.cpp --- a/main.cpp Mon Dec 15 05:58:04 2014 +0000 +++ b/main.cpp Tue Dec 16 07:44:54 2014 +0000 @@ -357,6 +357,7 @@ { //Thread::wait(10000); ir2master(); + Thread::wait(5000); } } \ No newline at end of file
diff -r 221d218f4690 -r ed6d3b8d1d56 slave.cpp --- a/slave.cpp Mon Dec 15 05:58:04 2014 +0000 +++ b/slave.cpp Tue Dec 16 07:44:54 2014 +0000 @@ -14,12 +14,15 @@ typedef struct { - char data; // To avoid dynamic memory allocation + char data[13]; // To avoid dynamic memory allocation int length; }i2c_data; + + + Mail<i2c_data,16> i2c_data_receive; Mail<i2c_data,16> i2c_data_send; @@ -46,7 +49,7 @@ printf("\ndone\n\r"); } -char data_send,data_receive; +char data_send[13],data_receive[13]; void T_I2C_BAE() { //char data_send,data_receive; @@ -55,16 +58,16 @@ // Thread::signal_wait(0x1); //i2c_status = temp; //wait(0.5); - printf("\n entered thread\n\r"); + printf("\n entered thread %d\n\r",i2c_status); if(i2c_status == 0 && reset !=1) { - FUNC_I2C_WRITE2CDMS(&data_receive); + FUNC_I2C_WRITE2CDMS(data_receive); i2c_data * i2c_data_r = i2c_data_receive.alloc(); - i2c_data_r->data = data_receive; - i2c_data_r->length = 1; + strcpy(i2c_data_r->data,data_receive); + i2c_data_r->length = 13; i2c_data_receive.put(i2c_data_r); - printf("\n Data received from CDMS is %c\n\r",data_receive); + printf("\n Data received from CDMS is %s\n\r",data_receive); i2c_data_receive.free(i2c_data_r); // This has to be done from a differen thread } @@ -74,12 +77,13 @@ if (evt.status == osEventMail) { i2c_data *i2c_data_s = (i2c_data*)evt.value.p; - data_send = i2c_data_s -> data; - FUNC_I2C_WRITE2CDMS(&data_send); - printf("\nData sent to CDMS is %c\n\r",data_send); + strcpy(data_send,i2c_data_s -> data); + FUNC_I2C_WRITE2CDMS(data_send,13); + printf("\nData sent to CDMS is %s\n\r",data_send); i2c_data_send.free(i2c_data_s); i2c_status = 0; //temp = i2c_status; + } } @@ -103,14 +107,16 @@ void ir2master() { - char data='a'; + char data[13]; + strcpy(data,"sakthi "); + strcat(data,"priya"); data_ready=0; - data = pcslave.getc(); + //data = pcslave.getc(); reset =0; i2c_status=1; i2c_data * i2c_data_s = i2c_data_send.alloc(); - i2c_data_s->data = data; - i2c_data_s->length = 1; + strcpy(i2c_data_s->data,data); + i2c_data_s->length = 13; i2c_data_send.put(i2c_data_s); data_ready=1; //temp = i2c_status;