#include <windows.h>
#include <stdio.h>
void redirectCOMData() {
HANDLE hCom1, hCom2;
DWORD bytesRead, bytesWritten;
char buffer[256];
// Abrir COM1
hCom1 = CreateFile("COM1", GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL);
if (hCom1 == INVALID_HANDLE_VALUE) {
printf("Error al abrir COM1\n");
return;
}
// Abrir COM2
hCom2 = CreateFile("COM2", GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL);
if (hCom2 == INVALID_HANDLE_VALUE) {
printf("Error al abrir COM2\n");
CloseHandle(hCom1);
return;
}
// Leer datos de COM1 y escribir en COM2
while (1) {
if (ReadFile(hCom1, buffer, sizeof(buffer), &bytesRead, NULL)) {
if (bytesRead > 0) {
WriteFile(hCom2, buffer, bytesRead, &bytesWritten, NULL);
}
} else {
printf("Error al leer de COM1\n");
break;
}
}
// Cerrar los puertos
CloseHandle(hCom1);
CloseHandle(hCom2);
}
int main() {
redirectCOMData();
return 0;
}