<>

<>

Pytanie : i od seryjny port

Cześć tam,

Im działanie na program który czytać dane (1MB tekst kartoteka) od the seryjny port i ratować ono dysk. I mieć dwa funkcja - initComm initialize the seryjny port i readComm read dane od the port.

I potrzebować pomoc w the główny funkcja który czytać the com port i ratować the dane dysk. I mieć dużo doświadczenie z c i im zbyt pewny jeżeli nie być prawy sposób ono? być może i móc the całość program wśród główny funkcja i z the initComm i readComm funkcja?

im using komputer osobisty okno 7 i microsoft vc++ the kod. The seryjny związek między the komputer być RS232.
(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:
#include 
#include 

BOOL fSuccess;
RĘKOJEŚĆ hSerial;     //Handle dla COM Port

kawitacyjny initComm ()
{
COMMTIMEOUTS noblock;
DCB comSettings;	//Various Portowy Położenie

// Initialize Serial Port
hSerial = CreateFile ("COM1", //Open COM1
		     GENERIC_READ, //Read tylko
		     (0), //Exclusive Dostęp
	             NIEOBOWIĄZUJĄCY, //No Ochrona Atrybut
		     OPEN_EXISTING, //COM port już istnieć
		     (0),
	             NIEOBOWIĄZUJĄCY);
jeżeli (hSerial==INVALID_HANDLE_VALUE)
{
	printf ("Nieważny Rękojeść Wartość %d. \ n", GetLastError ());
}
//Set Timeout w Milisecs
fSuccess = GetCommTimeouts (hSerial, &noblock);
	noblock.ReadTotalTimeoutConstant = (1);
	noblock.ReadTotalTimeoutMultiplier = MAXWORD;
	noblock.ReadIntervalTimeout = MAXWORD;
fSuccess = SetCommTimeouts (hSerial, &noblock);

//Set Portowy Parametr
fSuccess = GetCommState (hSerial, &comSettings);
jeżeli (! fSuccess)
{
	printf ("\ nGetCommState Błąd! ");
}
	comSettings.BaudRate = 9600;
	comSettings.ByteSize = 8;
	comSettings.fParity = FAŁSZYWY;
	comSettings.Parity = NOPARITY;
	comSettings.StopBits = ONESTOPBIT;
 fSuccess = SetCommState (hSerial, &comSettings);
 jeżeli (! fSuccess) {
	 printf ("\ nSetCommState Błąd! ");
 }
 printf ("Comm portowy set \ n");
}

//Read Dane od Serial Port
char readComm ()
{
	char inBuffer;
	int bytesRead;
	fSuccess = ReadFile (hSerial, //Handle
			    &inBuffer, //Incoming dane
			    1000, //No bajt read
			    &bytesRead, //Bytes Czytać
		            (0));
	jeżeli (bytesRead >0)
		powrotny inBuffer;
	inny powrót (0);
}

Odpowiedź : i od seryjny port

I bawić się z ono i w końcu I zakładać the rozwiązanie:

<>
  
Inne rozwiązania  
 
programming4us programming4us