From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Message-ID: <000d01c2bd66$19a2aac0$056409c0@LocalHost> From: "=?koi8-r?B?4sXT08/Oz9cg8c4=?=" To: References: <3E26A82B.2020608@rmts.donpac.ru> Date: Thu, 16 Jan 2003 16:49:32 +0300 MIME-Version: 1.0 Content-Type: text/plain; charset="koi8-r" Content-Transfer-Encoding: 8bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 5.50.4133.2400 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400 Subject: [Comm] =?koi8-r?B?UmU6IFtDb21tXSDw0s/H0sHNzcnSz9fBzsnFIMTM0SBDT00t0M/S1ME=?= Sender: community-admin@altlinux.ru Errors-To: community-admin@altlinux.ru X-BeenThere: community@altlinux.ru X-Mailman-Version: 2.0.9 Precedence: bulk Reply-To: community@altlinux.ru X-Reply-To: "=?koi8-r?B?4sXT08/Oz9cg8c4=?=" List-Unsubscribe: , List-Id: List-Post: List-Help: List-Subscribe: , List-Archive: Archived-At: List-Archive: List-Post: ----- Original Message ----- From: "Прокопьев Евгений" To: Sent: Thursday, January 16, 2003 3:40 PM Subject: [Comm] Программирование для COM-порта > Здравствуйте! > > Как в программе на С устанавливать параметры COM-порта? > > Ecть следующий код для оффтопика, необходимо написать его аналог: > > #ifdef __WIN32__ > handle = CreateFile(port.c_str(), GENERIC_READ|GENERIC_WRITE, 0, > NULL, OPEN_EXISTING, 0, NULL); > > if (handle == INVALID_HANDLE_VALUE) > throw runtime_error("serial device "+port+" open error"); > > DCB dcb; > ZeroMemory(&dcb, sizeof(DCB)); > if (!GetCommState(handle, &dcb)) > throw runtime_error("serial device "+port+" get state error"); > > dcb.DCBlength=sizeof(DCB); > BuildCommDCB(params.c_str(), &dcb); > > dcb.BaudRate = 600; > dcb.ByteSize = 8; > dcb.Parity = NOPARITY; > dcb.StopBits = TWOSTOPBITS; > > if (!SetCommState(handle, &dcb)) > throw runtime_error("serial device "+port+" set state error"); > > COMMTIMEOUTS ct; > ZeroMemory(&ct, sizeof(COMMTIMEOUTS)); > ct.ReadIntervalTimeout = MAXDWORD; > ct.ReadTotalTimeoutMultiplier = ct.ReadTotalTimeoutConstant = 0; > ct.WriteTotalTimeoutMultiplier = ct.WriteTotalTimeoutConstant = 0; > SetCommTimeouts(handle, &ct); > #endif http://linuxland.itam.nsc.ru/misch.html Ян > > -- > С уважением, Прокопьев Евгений > > _______________________________________________ > Community mailing list > Community@altlinux.ru > http://www.altlinux.ru/mailman/listinfo/community >