📄 rtctest.cpp
字号:
#include <stdio.h>
#include <conio.h>
#include <bios.h>
#include <string.h>
#include <dos.h>
#include "rs232.h"
#include "siocfg.h"
//#define COM COM1
char pPar[256];
int GetCOMNum( char* PortName );
int main(int argc, char** argv )
{
int i, i1, i2, len, COM;
char abyte, mssg[80];
CMD_SIOCFG CfgCmd;
struct date d;
struct time t;
printf( "\nRTC Test v1.01\n" );
printf( "Emtronix Inc. Copyright 2003\n" );
if( argc > 1 ) COM = GetCOMNum( argv[1] );
else COM = COM1;
InitUART( COM, 12 ); // baudrate = 9600
InstallISR( COM );
// setup rs232 link
Siocfg.Link( );
Siocfg.ShowHelpMessage( );
for( ; ; )
{
Siocfg.ShowPrompt( );
CfgCmd = Siocfg.GetCmd( (void*)pPar );
switch( CfgCmd )
{
case Cmd_Help:
Siocfg.ShowHelpMessage( );
break;
case Cmd_GetDate:
getdate( &d );
sprintf( mssg, "Current date is %4d-%02d-%02d",
d.da_year, d.da_mon, d.da_day );
Siocfg.ShowMessage( mssg );
break;
case Cmd_GetTime:
gettime( &t );
sprintf( mssg, "Current time is %02d:%02d:%02d",
t.ti_hour, t.ti_min, t.ti_sec );
Siocfg.ShowMessage( mssg );
break;
case Cmd_SetDate:
// prepare pPar
len = strlen( pPar );
for( i=0; i<len; i++ )
{
if( (pPar[i]!=0x0d) && (pPar[i]!=0x0a) ) continue;
pPar[i] = '\0';
break;
}
sscanf( pPar, "%d-%d-%d", &i, &i1, &i2 );
d.da_year = i;
d.da_mon = i1;
d.da_day = i2;
setdate( &d );
getdate( &d );
sprintf( mssg, "Current date is %4d-%02d-%02d",
d.da_year, d.da_mon, d.da_day );
Siocfg.ShowMessage( mssg );
break;
case Cmd_SetTime:
len = strlen( pPar );
for( i=0; i<len; i++ )
{
if( (pPar[i]!=0x0d) && (pPar[i]!=0x0a) ) continue;
pPar[i] = '\0';
break;
}
sscanf( pPar, "%d:%d:%d", &i, &i1, &i2 );
t.ti_hour = i;
t.ti_min = i1;
t.ti_sec = i2;
settime( &t );
gettime( &t );
sprintf( mssg, "Current time is %02d:%02d:%02d",
t.ti_hour, t.ti_min, t.ti_sec );
Siocfg.ShowMessage( mssg );
break;
default:
Siocfg.ShowMessage( "Unknown Command!" );
}
if( kbhit( ) ) { getch( ); break; }
}
UninstallISR( COM );
return 0;
}
int GetCOMNum( char* PortName )
{
if( !strcmp( PortName, "COM1" ) ) return COM1;
if( !strcmp( PortName, "COM2" ) ) return COM2;
if( !strcmp( PortName, "COM3" ) ) return COM3;
if( !strcmp( PortName, "COM4" ) ) return COM4;
return COM1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -