📄 gps_settime.c
字号:
#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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -