📄 timedisp.c
字号:
/**************************************************************//* *//* Program Name : timedisp *//* *//* Version: 0.00 2001-08-16 *//* 1.10 2002-06-04 *//* *//* Copyright (c) 2002 T.Kondo/CRL All Right Reserved *//* *//**************************************************************//* 俬俹亅倁俴俛俬儃乕僪帪崗昞帵僾儘僌儔儉 乮帪崗僙僢僩偼暿偺僜僼僩偱峴偆乯 by T.Kondo 2001.8.16 Ver 1.1 2002.6.4 憱傜偣曽 timedisp [period] 偙偙偱 period 昞帵偡傞帪娫乮昩乯 僨僼僅儖僩偼侾侽昩娫昞帵*/#include <stdio.h>#include <errno.h>#include <fcntl.h>#include <unistd.h>#include <sys/stat.h>#include <sys/tdsio.h>int sec2hmss(unsigned int sec, int* hh, int* mm, int* ss);int sec2hms(unsigned int sec, int* hh, int* mm, int* ss){ //char cbuf[60]; long int j; *hh=sec/3600 ; j=sec-*hh*(long)3600; *mm=(int)(j/60) ; *ss=(int)(j-*mm*(long)60) ; return 0;}int main(int argc, char **argv){ int fd_in,rv; unsigned int time,day,sec; // 僨僶僀僗偐傜撉傒崬傫偩尰嵼偺帪崗忣曬傪奿擺 unsigned int secold, secmax; int yyyy, mm, dd; // 帪娫愝掕(timeset)偱棙梡 int h, m, s; // 帪娫愝掕(timeset)偱棙梡 int counter; int i; if(argc >= 2){ secmax = atoi(*(argv + 1 )); if(secmax <= 0) {secmax=10;} } else { secmax=10; } fd_in = open("/dev/tds0", O_RDONLY); //僨僶僀僗偺僆乕僾儞 if (fd_in == -1) { perror("device open() error "); return -1; } printf("IP-VLBI Board Time Display (by T.KONDO)\n"); time = 0; //擮偺偨傔弶婜壔 secold=90000; counter=0; //僨僶僀僗偐傜帪崗忣曬偺庢摼 and display while do{ rv = ioctl(fd_in, TDSIO_GET_TIME, &time); if (rv == -1) { perror("ioctl() time get failed "); return -1; } day=TDS_GET_DAYS(time); sec=TDS_GET_SEC(time); if (sec!=secold) { i=sec2hms(sec,&h,&m,&s); //printf("get count day from device [%5d]\n",TDS_GET_DAYS(time)); //printf("get count sec from device [%5d]\n",TDS_GET_SEC(time)); printf("%03d %02d:%02d:%02d\n\033[A",day,h,m,s); counter++; } secold=sec; }while(counter <=secmax); printf("\n\n");}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -