Re[4]: Прошу помочь! Работа с COM портом через API
Здравствуйте, kontra, Вы писали:
K>Здравствуйте...
K>У меня проблема... Я все вроде выполняю правильно (в соотв. с описанием)
ОТВЕТ////////////////////////////
"Этот кусок я даю из только-что откомпилированной программы.
Будут вопросы — пиши: o__l__e__g@ukrpost.net .
void CMy11Dlg::OnButton2()
{
BOOL m_bPortReady;
HANDLE m_hCom;
CString m_sComPort;
DCB m_dcb;
COMMTIMEOUTS m_CommTimeouts;
BOOL bWriteRC;
BOOL bReadRC;
DWORD iBytesWritten;
DWORD iBytesRead;
char sBuffer[3];
m_sComPort = "Com2";
m_hCom = CreateFile(m_sComPort,
GENERIC_READ | GENERIC_WRITE,
0, // exclusive access
NULL, // no security
OPEN_EXISTING,
0, // no overlapped I/O
NULL); // null template
m_bPortReady = SetupComm(m_hCom, 1, 1); // set buffer sizes
m_bPortReady = GetCommState(m_hCom, &m_dcb);
m_dcb.BaudRate = 1200;
m_dcb.ByteSize = 8;
m_dcb.Parity = NOPARITY;
m_dcb.StopBits = ONESTOPBIT;
m_dcb.fAbortOnError = TRUE;
m_bPortReady = SetCommState(m_hCom, &m_dcb);
m_bPortReady = GetCommTimeouts (m_hCom, &m_CommTimeouts);
m_CommTimeouts.ReadIntervalTimeout = 100;
m_CommTimeouts.ReadTotalTimeoutConstant = 100;
m_CommTimeouts.ReadTotalTimeoutMultiplier = 100;
m_CommTimeouts.WriteTotalTimeoutConstant = 100;
m_CommTimeouts.WriteTotalTimeoutMultiplier = 100;
char DD=577;
m_bPortReady = SetCommTimeouts (m_hCom, &m_CommTimeouts);
bWriteRC = WriteFile(m_hCom, &DD,10,&iBytesWritten,NULL);
bReadRC = ReadFile(m_hCom, &sBuffer, 10, &iBytesRead, NULL);
m_text1=sBuffer;UpdateData(false);
CloseHandle(m_hCom);
}
Пока на собственное сообщение не было ответов, его можно удалить.
Удалить