<>

<>

Fråga : läsning och besparing från seriell port

Hi där, arbetet för

Im på ett program, som läser data (en text 1MB sparar), från den seriella porten och sparar den till disken. Jag har två fungerar - initComm som initialiserar den seriella porten, och readComm för att läsa data från port.
I behöver hjälp, skriftligen som det huvudsakligt fungerar, som läser com-porten och sparar datan till disken. Jag har inte mycket att erfara med c och im inte för sure, om detta är högert långt att göra det? kanske jag kan göra helhetsprogramet inom ett huvudsakligt fungerar och inte besvärar med initCommen, och readComm fungerar?

im using rinnande fönster 7 och använda för PC microsoft vc++ för att göra kodifiera. Den seriella anslutningen mellan datorerna är RS232.
> för
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
" codeBody " " >#include för class= " för BOOL-fSuccess; hSerial HANDTAG; //Handle för COM-port utan laga kraft initComm () { COMMTIMEOUTS-noblock; Dcb-comSettings; //Various Port inställningar // initialiserar seriell port hSerial = CreateFile (”COM1”, //Open COM1 GENERIC_READ //Read endast 0 //Exclusive tar fram OGILTIGT //No säkerhetsattribut OPEN_EXISTING //COM port finns redan 0, OGILTIGT); om (hSerial==INVALID_HANDLE_VALUE) { printf (”det ogiltiga handtaget värderar %d. \ n”, GetLastError ()); } //Set frånslagningstid i Milisecs fSuccess = hSerial GetCommTimeouts (, &noblock); noblock.ReadTotalTimeoutConstant = 1; noblock.ReadTotalTimeoutMultiplier = MAXWORD; noblock.ReadIntervalTimeout = MAXWORD; fSuccess = hSerial SetCommTimeouts (, &noblock); //Set Port parametrar fSuccess = hSerial GetCommState (, &comSettings); om (! fSuccess) { printf (”\ nGetCommStatefel! ”); } comSettings.BaudRate = 9600; comSettings.ByteSize = 8; comSettings.fParity = FALSKT; comSettings.Parity = NOPARITY; comSettings.StopBits = ONESTOPBIT; fSuccess = hSerial SetCommState (, &comSettings); om (! fSuccess) { printf (”\ nSetCommStatefel! ”); } printf (”port uppsättning för Comm \ n”); } //Read data från seriell port rödingreadComm () { rödinginBuffer; int-bytesRead; fSuccess = hSerial ReadFile (, //Handle &inBuffer //Incoming data 1000 //No byte som ska läsas &bytesRead //Bytes läste 0); om (bytesRead >0) återgång inBuffer; annan retur 0; }
" klar "

Svar : läsning och besparing från seriell port

Jag lekte med det, och slutligen jag grundar lösningen:

<>
  
Andra lösningar  
 
programming4us programming4us