syncMaster for problem 3
Embed:
(wiki syntax)
Show/hide line numbers
main.cpp
00001 #include "mbed.h" 00002 #include "timesync.h" 00003 00004 extern uint32_t sync_count[3]; 00005 00006 DigitalOut myled(LED2); 00007 DigitalOut mypin(p21); 00008 timeval_t tblink, tblink1, ttoggle; 00009 00010 void pinToggle() 00011 { 00012 getTime(&tblink1); 00013 mypin = !mypin; 00014 myled = !myled; 00015 } 00016 00017 void reportToggle(struct timeval * t) 00018 { 00019 int32_t diff; 00020 diff = (tblink1.tv_sec - t->tv_sec)*1000000+tblink1.tv_usec - t->tv_usec; 00021 //diff = t->tv_sec * 1000000 + t->tv_usec; 00022 //printf("triggered: %d.%06d ", t->tv_sec, t->tv_usec); 00023 //printf("expect: %d.%06d\r\n", texpect.tv_sec, texpect.tv_usec); 00024 printf("%d,%d,%d,%d\r\n", diff, sync_count[0],sync_count[1],sync_count[2]); 00025 } 00026 00027 int main() { 00028 timesync_init(); 00029 00030 tblink.tv_sec = 5; 00031 tblink.tv_usec = 500000; 00032 runAtTrigger(&reportToggle); 00033 while(1) 00034 { 00035 if (runAtTime(&pinToggle, &tblink)==0) { 00036 tblink.tv_sec ++; 00037 } 00038 wait_ms(20); 00039 } 00040 }
Generated on Fri Jul 29 2022 08:06:44 by
1.7.2