搜档网
当前位置:搜档网 › vxworks系统时间

vxworks系统时间


/* test.c */

#include
#include
#include
#include
time_t biostime()
{
struct tm mark;
unsigned char cHour,cMin,cSec;
unsigned char cDay,cMonth,cYear;
sysOutByte(0x70,0x00);
cSec=sysInByte(0x71);
mark.tm_sec=(cSec&0x0F)+10*((cSec&0x0F0)>>4);
sysOutByte(0x70,0x02);
cMin=sysInByte(0x71);
mark.tm_min=(cMin&0x0F)+10*((cMin&0x0F0)>>4);
sysOutByte(0x70,0x04);
cHour=sysInByte(0x71);
mark.tm_hour=(cHour&0x0F)+10*((cHour&0x0F0)>>4);
sysOutByte(0x70,0x07);
cDay=sysInByte(0x71);
mark.tm_mday=(cDay&0x0F)+10*((cDay&0x0F0)>>4);
sysOutByte(0x70,0x08);
cMonth=sysInByte(0x71);
mark.tm_mon=(cMonth&0xF0)+10*((cMonth&0x0F0)>>4)-1;
sysOutByte(0x70,0x09);
cYear=sysInByte(0x71);
mark.tm_year=100+(cYear&0xF0)+10*((cYear&0x0F)>>4);
fprintf(stdout,"sec=%d\n",mark.tm_sec);
fprintf(stdout,"min=%d\n",mark.tm_min);
fprintf(stdout,"hour=%d\n",mark.tm_hour);
fprintf(stdout,"day=%d\n",mark.tm_mday);
fprintf(stdout,"mon=%d\n",mark.tm_mon);
fprintf(stdout,"year=%d\n",mark.tm_year);
/* write */
sysOutByte(0x70,0x00);
sysOutByte(0x71,0x30);
cSec=sysInByte(0x71);
mark.tm_sec=(cSec&0x0F)+10*((cSec&0x0F0)>>4);
sysOutByte(0x70,0x02);
sysOutByte(0x71,0x30);
cMin=sysInByte(0x71);
mark.tm_min=(cMin&0x0F)+10*((cMin&0x0F0)>>4);
sysOutByte(0x70,0x04);
sysOutByte(0x71,0x30);
cHour=sysInByte(0x71);
mark.tm_hour=(cHour&0x0F)+10*((cHour&0x0F0)>>4);
sysOutByte(0x70,0x07);
sysOutByte(0x71,0x06);
cDay=sysInByte(0x71);
mark.tm_mday=(cDay&0x0F)+10*((cDay&0x0F0)>>4);
sysOutByte(0x70,0x08);
sysOutByte(0x71,0x06);
cMonth=sysInByte(0x71);
mark.tm_mon=(cMonth&0xF0)+10*((cMonth&0x0F0)>>4)-1;
sysOutByte(0x70,0x09);
sysOutByte(0x71,0x06);
cYear=sysInByte(0x71);
mark.tm_year=100+(cYear&0xF0)+10*((cYear&0x0F)>>4);
fprintf(stdout,"sec=%d\n",mark.tm_sec);
fprintf(stdout,"min=%d\n",mark.tm_min);
fprintf(stdout,"hour=%d\n",mark.tm_hour);
fprintf(stdout,"day=%d\n",mark.tm_mday);
fprintf(stdout,"mon=%d\n",mark.tm_mon);
fprintf(stdout,"year=%d\n",mark.tm_year);
return mktime(&mark);
}
void inittime()
{
int res;
struct timespec ts;
struct tm daytime;
time_t systime;
https://www.sodocs.net/doc/d811557671.html,_sec=biostime();
https://www.sodocs.net/doc/d811557671.html,_nsec=0;
res=clock_settime(CLOCK_REALTIME,&ts);
systime=time(NULL);
daytime=*localtime(&systime);
fprintf(stdout,"The current time is %s\n",asctime(&daytime));
}
STATUS test(void)
{
unsigned char sec;
unsigned char i=0,j=0;
sysOutByte(0x70,0x00);
sec=sysInByte(0x71);

i=(sec&0x0F)+10*((sec&0x0F0)>>4);
fprintf(stdout,"i= %d \n",i);
sysOutByte(0x70,0x00);
sec=sysInByte(0x71);
j=(sec&0x0F)+10*((sec&0x0F0)>>4);
fprintf(stdout,"j= %d \n",j);
fprintf(stdout,"j-i= %d \n",(j-i));
}

STATUS t(void)
{
if (taskSpawn("t0", 100, 0, 10000,(FUNCPTR) test, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) == ERROR)
{
perror ("taskSpawn");
}
else
{
fprintf(stdout,"\nTaskSpawn tcpClient0 successful!\n");
}
}

相关主题