main() { int probleme; DataDecrypt(); if ( DataCheck() != 0 ) DataClear(); linea_init(); hide_mouse(); probleme = InitTank(); if ( !probleme ) { InitSys(); _InitSys(); InitRand((int)*_Hz200 & 0x7FFF); ShowLogo(); MnRoot(); _TermSys(); TermSys(); } TermTank(probleme); show_mouse(0); return (0); }
/************************公有函数***********************/ PROCESSED_DATA DataProcess(void) { if(DataCheck())//如果数据正确 { processedData.fun_m=DATA_BUFFER[2]; processedData.fun_s=DATA_BUFFER[3]; processedData.direction=DATA_BUFFER[4]; processedData.duty=((u16)DATA_BUFFER[5]<<8 | (u16)DATA_BUFFER[6])/10.0; } else { processedData.direction=0; processedData.duty=0; processedData.fun_m=0; processedData.fun_s=0; } return processedData; }
void* Sender(void* ignored) { MessageManager mm; SDMData dat; for (int i = 0; i < 256; i++) dat.msg[i] = 0x45; dat.length = 256; mm.Async_Init(MYPORT); char buf[BUFSIZE]; SDMComponent_ID Receiver; Receiver.setAddress(inet_addr("127.0.0.1")); Receiver.setPort(MYPORT2); while(1) { if (mm.IsReady()) { if (mm.GetMessage(buf) == SDM_Data) { SDMData received; received.Unmarshal(buf); printf("(Sender) Received SDMData with timestamp %ld, %ld.\n",received.GetSecondsStamp(), received.GetSubSecondsStamp()); fflush(NULL); if (!DataCheck(received)) { printf("(Sender) ERROR message doesn't match!\n"); } } else printf("(Sender) Unknown message received.\n"); } // Send the message printf("(Sender) Sending message...\n"); dat.SendTo(Receiver); sleep(1); } return NULL; }