gps_settime.c

来自「This a support library and assorted samp」· C语言 代码 · 共 69 行

C
69
字号
#include "as_gps.h"#include <time.h>#include <sys/time.h>void set_time(const AS_GPS_PositionData *pos);int main(int argc, char **argv){  if(as_gps_open("/dev/gps"))  {    printf("Can't open device\n");    exit(1);  }  while(1)  {    void *data=NULL;    double lat, lgt;    unsigned read_count = 0;    unsigned char result = as_gps_handle_input(&data);    if(result == AS_GPS_RCV_POSITION_DATA)     {      AS_GPS_PositionData *pos = (AS_GPS_PositionData *)data;      if(pos->status > 0x0) // have atleast one sat      {        set_time(pos);        exit(0);      }    }    free(data);  }  as_gps_close(); }void set_time(const AS_GPS_PositionData *pos){  time_t time;#if 0  struct timeval timeval;  struct timezone timezone;#endif  time = pos->time;#if 0  timeval.tv_sec = mktime(gmtime(&time));  timeval.tv_usec = 0;  timezone.tz_minuteswest = 0;  timezone.tz_dsttime = 0;#endif#if 0  if(settimeofday(&timeval, &timezone))#else  if(stime(&time))#endif  {    printf("Error: Must be superuser to set time.\n");    exit(1);  }  printf("Setting time to %s", asctime(localtime(&time)));  printf("Setting time to %.24s UTC\n", asctime(gmtime(&time)));}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?