📄 tstgetid.c
字号:
/* Get the serail number for commplus on HT1820 through communication file server
project file should include:
commplus.c
cplib.lib
*/
#include <conio.h>
#include <stdio.h>
#include <string.h>
#include <commplus.h>
char ComPlsMsg[19][31]={
/*eng_NOT_READY*/ {"Communication time out"},
/*eng_IO_ERROR*/ {"Communication I/O error"},
/*eng_TOO_LONG*/ {"Internal Error 3"},
/*eng_INVALID_MD*/ {"Internal Error 4"},
/*eng_ILLEGAL_BDRT*/ {"Internal Error 5"},
/*eng_EXF_CANCELED*/ {"Coping has been aborted"},
/*eng_EXF_NAM_MIST*/ {"Internal Error 7"},
/*eng_EXF_INVALID_CD*/ {"Internal Error 8"},
/*eng_EXF_TRUNCATED*/ {"File truncated"},
/*eng_EXF_ALRDY_OPN*/ {"Internal Error 10"},
/*eng_EXF_ILLEGAL_FN*/ {"Internal Error 11"},
/*eng_EXF_CODE_12*/ {"Internal Error 12"},
/*eng_CLNT_REQ_REJECT*/ {"Request has been rejected"},
/*eng_CLNT_REQ_NOTSUP*/ {"Request has not been supported"},
/*eng_EXFerr_fOpen*/ {"File not found"},
/*eng_EXFerr_fCreate*/ {"Illegal file path"},
/*eng_EXFerr_fRead*/ {"File read error"},
/*eng_EXFerr_fWrite*/ {"Disk full"},
/*eng_EXFerr_fErase*/ {"File Erase Error"}};
int ParseComLn(int argc, char *argv[],
unsigned char *CommPort,
unsigned int *SerialNo,
unsigned long *BaudRate)
{
int i, result=1;
unsigned char Mode, Port;
unsigned int SNo,SBdRt;
unsigned long BdRt;
if (!ComPlsInstalled())
if (InstallComPls(0) == 2)
{
cprintf("BIOS Setting for COM1 or COM2 Error!!!!\r\n\n");
return 0;
}
GetCommMode(&Mode, &Port, &SBdRt);
SNo=0;
if (SBdRt== 0xFFF0)
BdRt = 115200;
else
BdRt =(unsigned long)SBdRt;
for (i=1; i<argc; i++)
switch (argv[i][0])
{
case 'c': ;
case 'C': if (argv[i][1]=='1')
Port=0;
else if (argv[i][1]=='2')
Port=1;
break;
case 'b': ;
case 'B': sscanf(&argv[i][1], "%ld", &BdRt);
break;
case 's': ;
case 'S': sscanf(&argv[i][1], "%d", &SNo);
break;
}
*CommPort=Port;
*BaudRate=BdRt;
*SerialNo=SNo;
return(result);
}
int main(int argc, char *argv[])
{
unsigned char CommPort;
unsigned int SerialNo, YouID, SBaudRate;
unsigned long BaudRate;
int result;
directvideo=0;
if (ParseComLn(argc, argv, &CommPort, &SerialNo, &BaudRate))
{
if (!ComPlsInstalled())
InstallComPls(CommPort);
if (BaudRate == 115200)
SBaudRate = 0xFFF0;
else
SBaudRate = (unsigned int)BaudRate;
if (!SetCommMode(_PAK_MODE, CommPort, SBaudRate))
{
EnableRx(0);
result=SendClientReq(_SNO_REQ, SerialNo, " ", &YouID);
if (result)
if (result==_REJECTED)
printf("access denied\n");
else
printf("\nCommPls Error: %s\n", ComPlsMsg[result-1]);
else
printf("You ID is %d\n", YouID);
DisableRx();
}
else
printf("%u is an invalid baud rate for CommPlus.\n", BaudRate);
UninstComPls();
}
getchar();
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -