Master 1 hr . takes input form the serial connection of PC

Dependencies:   mbed

Committer:
manujose
Date:
Sat Dec 04 06:10:16 2010 +0000
Revision:
0:219eacd4c264

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
manujose 0:219eacd4c264 1
manujose 0:219eacd4c264 2 #include "problemb1.h"
manujose 0:219eacd4c264 3
manujose 0:219eacd4c264 4 //void Timer2_IRQHandler(void);
manujose 0:219eacd4c264 5
manujose 0:219eacd4c264 6 //Serial pc(p9,p10);
manujose 0:219eacd4c264 7
manujose 0:219eacd4c264 8
manujose 0:219eacd4c264 9
manujose 0:219eacd4c264 10
manujose 0:219eacd4c264 11
manujose 0:219eacd4c264 12
manujose 0:219eacd4c264 13 Ticker debug;
manujose 0:219eacd4c264 14 //static struct pt pt1,pt2,pt3;
manujose 0:219eacd4c264 15 int main() {
manujose 0:219eacd4c264 16
manujose 0:219eacd4c264 17 //wait(2);
manujose 0:219eacd4c264 18
manujose 0:219eacd4c264 19 pc.printf("ENTERING MAIN JOBS\n");
manujose 0:219eacd4c264 20 sync.baud(460800);
manujose 0:219eacd4c264 21 initialSetup();
manujose 0:219eacd4c264 22
manujose 0:219eacd4c264 23
manujose 0:219eacd4c264 24 int p;
manujose 0:219eacd4c264 25
manujose 0:219eacd4c264 26 //On any sync request from slave, respond to it
manujose 0:219eacd4c264 27 sync.attach(&resp_sync_request);
manujose 0:219eacd4c264 28
manujose 0:219eacd4c264 29
manujose 0:219eacd4c264 30 timeval rt;
manujose 0:219eacd4c264 31
manujose 0:219eacd4c264 32 runAtTrigger(&reportToggle);
manujose 0:219eacd4c264 33
manujose 0:219eacd4c264 34
manujose 0:219eacd4c264 35 char c;
manujose 0:219eacd4c264 36 int i;
manujose 0:219eacd4c264 37 int count =0;
manujose 0:219eacd4c264 38 unsigned int tt;
manujose 0:219eacd4c264 39 union {
manujose 0:219eacd4c264 40 timeval t;
manujose 0:219eacd4c264 41 char BYTE[8];
manujose 0:219eacd4c264 42 } ttt;
manujose 0:219eacd4c264 43 tt=NUM_MICRO_SEC*15;
manujose 0:219eacd4c264 44 wait (4);
manujose 0:219eacd4c264 45 while (1) {
manujose 0:219eacd4c264 46 count++;
manujose 0:219eacd4c264 47 if (pc.readable()) {
manujose 0:219eacd4c264 48 c ='k';
manujose 0:219eacd4c264 49 i=0;
manujose 0:219eacd4c264 50
manujose 0:219eacd4c264 51 pc.printf("DAT REC\n");
manujose 0:219eacd4c264 52 while (pc.readable() && (c !='S'))
manujose 0:219eacd4c264 53 c=pc.getc();
manujose 0:219eacd4c264 54 c=pc.getc();
manujose 0:219eacd4c264 55 while (pc.readable() &&(c !='E')) {
manujose 0:219eacd4c264 56 if (c!=' ') {
manujose 0:219eacd4c264 57 tt=tt*10+atoi(&c);
manujose 0:219eacd4c264 58 }
manujose 0:219eacd4c264 59 c = pc.getc();
manujose 0:219eacd4c264 60 }
manujose 0:219eacd4c264 61
manujose 0:219eacd4c264 62 while (pc.readable())
manujose 0:219eacd4c264 63 c = pc.getc();
manujose 0:219eacd4c264 64 // pc.printf(" RECV = %d \n",tt);
manujose 0:219eacd4c264 65 if (tt>= NUM_MICRO_SEC) {
manujose 0:219eacd4c264 66 ttt.t.tv_sec = tt/NUM_MICRO_SEC;
manujose 0:219eacd4c264 67 ttt.t.tv_usec = tt - ttt.t.tv_sec*NUM_MICRO_SEC;
manujose 0:219eacd4c264 68 } else {
manujose 0:219eacd4c264 69 ttt.t.tv_sec =0; //less than a sec
manujose 0:219eacd4c264 70 ttt.t.tv_usec = tt;
manujose 0:219eacd4c264 71 }
manujose 0:219eacd4c264 72 serial2.putc(ttt.BYTE[0]);
manujose 0:219eacd4c264 73 serial2.putc(ttt.BYTE[1]);
manujose 0:219eacd4c264 74 serial2.putc(ttt.BYTE[2]);
manujose 0:219eacd4c264 75 serial2.putc(ttt.BYTE[3]);
manujose 0:219eacd4c264 76 serial2.putc(ttt.BYTE[4]);
manujose 0:219eacd4c264 77 serial2.putc(ttt.BYTE[5]);
manujose 0:219eacd4c264 78 serial2.putc(ttt.BYTE[6]);
manujose 0:219eacd4c264 79 serial2.putc(ttt.BYTE[7]);
manujose 0:219eacd4c264 80 runAtTime(&pinToggle, &ttt.t);
manujose 0:219eacd4c264 81
manujose 0:219eacd4c264 82 pc.printf("DATA RECV :%d SEC %d AND MICRO %d \n",tt,ttt.t.tv_sec,ttt.t.tv_usec);
manujose 0:219eacd4c264 83
manujose 0:219eacd4c264 84 }
manujose 0:219eacd4c264 85
manujose 0:219eacd4c264 86
manujose 0:219eacd4c264 87
manujose 0:219eacd4c264 88 }
manujose 0:219eacd4c264 89
manujose 0:219eacd4c264 90 }