<>

<>

Вопрос : чтение и сбереженияа от серийного порта

Hi там,

Im работая на программе которая читает данные (архив текста 1MB) от серийного порта и сохраняет его к диску. Я имею 2 функции - initComm для того чтобы выступить серийный порт с иничиативой и readComm для того чтобы прочитать данные от port.

I нужна помощь в писании главным образом функции читает порт com и сохраняет данные к диску. Я не имею много опыт с c и im слишком конечно если это будет правая дорога сделать ее? возможно я могу сделать всю программу в пределах главным образом функции и не докучать с функциями initComm и readComm?

im using окна 7 и использование pc идущие Майкрософт vc++ для того чтобы сделать Кодего. Серийным связь между компьютеры будет RS232.
class= " ясное " >
> " codeSnippet " class=
class= " lineNumbers "
class=
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 " class= " id= " codeSnippet843796

fSuccess BOOL;
РУЧКА hSerial;     //Handle для порта COM

пустое initComm ()
{
Noblock COMMTIMEOUTS;
comSettings DCB;	Установки //Various Port

// выступает серийный порт с иничиативой
hSerial = CreateFile («COM1», //Open COM1
		     GENERIC_READ, //Read только
		     0, доступ //Exclusive
	             NULL, атрибуты обеспеченностью //No
		     OPEN_EXISTING, порт //COM уже существует
		     0,
	             NULL);
если (hSerial==INVALID_HANDLE_VALUE), то
{
	printf («инвалидное значение %d. \ n ручки», GetLastError ());
}
Перерыв //Set в Milisecs
fSuccess = GetCommTimeouts (hSerial, &noblock);
	noblock.ReadTotalTimeoutConstant = 1;
	noblock.ReadTotalTimeoutMultiplier = MAXWORD;
	noblock.ReadIntervalTimeout = MAXWORD;
fSuccess = SetCommTimeouts (hSerial, &noblock);

Параметры //Set Port
fSuccess = GetCommState (hSerial, &comSettings);
если (! fSuccess)
{
	printf («\ ошибка nGetCommState! ");
}
	comSettings.BaudRate = 9600;
	comSettings.ByteSize = 8;
	comSettings.fParity = ЛОЖНО;
	comSettings.Parity = NOPARITY;
	comSettings.StopBits = ONESTOPBIT;
 fSuccess = SetCommState (hSerial, &comSettings);
 если (! fSuccess) {
	 printf («\ ошибка nSetCommState! ");
 }
 printf («порт Comm установленный \ n»);
}

Данные по //Read от серийного порта
readComm чарса ()
{
	inBuffer чарса;
	bytesRead int;
	fSuccess = ReadFile (hSerial, //Handle
			    &inBuffer, данные по //Incoming
			    1000, байты //No, котор нужно прочитать
			    &bytesRead, //Bytes прочитало
		            0);
	если (bytesRead >0), то
		возвращенное inBuffer;
	другое возвращение 0;
}
class=

Ответ : чтение и сбереженияа от серийного порта

Я играл с им и окончательно я нашел разрешение:

<>
  
Другие решения  
  •  Как я добавляю кнопки на форме PDF для того чтобы добавить/извлекаю рядки данных?
  •  Шнур ошибки в блоке задвижки?
  •  сколько вариант сервера SQL на одной машине
  •  Внешний вид 2007 не может архивный файл открытой сети сохраненный
  •  Активно директория DNS записывает вопрос
  •  Отчет о доступа 2010 экспорта к CSV с коллекторами?
  •  Прокладчик OCE 9400 не начинает
  •  как добавить десятичное место в формуле в отчете о кристалла seagate
  •  Windows XP и Мичрософт Оутлоок и проблемы установителя Windows
  •  VB6 к VS2010 - консультации тренировки?
  •  
    programming4us programming4us