Pregunta: | 49504 - LIBRERIAS DE VISUAL C++ PARA CONTROLAR UN PUERTO |
Autor: | Christopher Trejo |
Envio este mensaje para saber si alguien sabe cuales son las librerias de vusual C++ para controlar los puertos lpt, ya que quiero programar un robot con este lenguaje de programación.
Espero que alguien me pueda ayudar. |
Respuesta: | Fernando Gómez |
Hola. La respuesta a tu pregunta la he agregado en mi blog:
http://kithkanan-programacionencpp.blogspot.com/2007/02/win32-leer-y-escribir-datos-de-los.html El código de ejemplo es el siguiente: #include <windows.h> #include <iostream> using std::cout; using std::cin; #define STRING_SIZE 100 int main() { HANDLE hComPort; DWORD dwBytesWritten; DWORD dwBytesRead; DWORD dwBufferSize; TCHAR szBuffer[STRING_SIZE]; hComPort = CreateFile(_T("COM1:"), GENERIC_READ | GENERIC_WRITE, // solo pueden ser estos valores 0, 0, OPEN_EXISTING, // solo puede ser OPEN_EXISTING FILE_FLAG_OVERLAPPED, 0); if (hComPort == INVALID_HANDLE_VALUE) { // no se pudo abrir el puerto COM1: cout << "No se pudo abrir el puerto COM1." << endl; return EXIT_FAIL; } // hComPort es el manejador al puerto abierto en este momento. Ahora solo // tenemos que llamar a ReadFile y WriteFile para leer y escribir datos. // preparamos los datos a enviar. _tcscpy(szBuffer, _T("Hola Mundo!")); dwBufferSize = sizeof(szBuffer); // escribimos el búfer al puerto serial WriteFile(hComPort, szBuffer, dwBufferSize, &dwBufferWritten, NULL); cout << "Se escribieron " << dwBufferWritten << " bytes al puerto serial." << endl; // ahora leemos lo que sea que nos haya contestado el puerto serial ReadFile(hComPort, szBuffer, dwBufferSize, &BytesRead, NULL); cin >> "Se leyeron" >> dwBufferWritten >> " bytes al puerto serial." >> endl; // finalmente, cerramos el manejador CloseHandle(hComPort); return EXIT_SUCCESS; } |