C/Visual C - Necesito un programa en C para conectar 2 PC´s

 
Vista:

Necesito un programa en C para conectar 2 PC´s

Publicado por Manuel (1 intervención) el 16/09/2000 00:00:00
Necesito un programa en C para conectar 2 PC´s
por el puerto Serial (DB9)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Conexión de dos PC por el puerto serial (DB9)

Publicado por Alejandro (1153 intervenciones) el 29/08/2024 23:54:16
Para conectar dos PC utilizando el puerto serial (DB9) en C/Visual C, puedes seguir los siguientes pasos:

1. Configurar los puertos seriales: Utiliza las funciones de C/Visual C para configurar los puertos seriales en ambas PC. Puedes utilizar la función "CreateFile()" para abrir el puerto serial y establecer la configuración adecuada, como la velocidad de transmisión (baud rate), bits de datos, paridad, bits de parada, etc.

2. Establecer la comunicación: Utiliza las funciones de lectura y escritura de archivos en C/Visual C para enviar y recibir datos a través del puerto serial. Puedes utilizar las funciones "ReadFile()" y "WriteFile()" para leer y escribir datos en el puerto serial respectivamente.

3. Implementar el protocolo de comunicación: Define un protocolo de comunicación entre las dos PC para asegurar una transferencia de datos confiable. Puedes utilizar estructuras de datos, como tramas o paquetes, para organizar los datos que se envían y reciben.

4. Manejar errores y excepciones: Implementa mecanismos para manejar errores y excepciones durante la comunicación, como la pérdida de conexión o errores de transmisión. Puedes utilizar estructuras de control, como bucles y condicionales, para verificar y manejar estos casos.

Aquí tienes un ejemplo de código que muestra cómo realizar estos pasos:

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
#include <stdio.h>
#include <windows.h>
 
int main()
{
    HANDLE hSerial;
    DCB dcbSerialParams = { 0 };
    COMMTIMEOUTS timeouts = { 0 };
 
    // Paso 1: Configurar los puertos seriales
    hSerial = CreateFile("COM1", GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
    dcbSerialParams.DCBlength = sizeof(dcbSerialParams);
    GetCommState(hSerial, &dcbSerialParams);
    dcbSerialParams.BaudRate = CBR_9600;
    dcbSerialParams.ByteSize = 8;
    dcbSerialParams.StopBits = ONESTOPBIT;
    dcbSerialParams.Parity = NOPARITY;
    SetCommState(hSerial, &dcbSerialParams);
 
    // Paso 2: Establecer la comunicación
    char data[] = "¡Hola, PC2!";
    DWORD bytesWritten;
    WriteFile(hSerial, data, sizeof(data), &bytesWritten, NULL);
 
    // Paso 3: Implementar el protocolo de comunicación
    char buffer[100];
    DWORD bytesRead;
    ReadFile(hSerial, buffer, sizeof(buffer), &bytesRead, NULL);
    printf("PC2 dice: %s\n", buffer);
 
    // Paso 4: Manejar errores y excepciones
 
    CloseHandle(hSerial);
 
    return 0;
}

Recuerda reemplazar "COM1" con el número de puerto serial correcto en ambas PC. Además, asegúrate de liberar los recursos adecuadamente cuando ya no necesites la conexión serial.

Espero que esta solución te sea útil. ¡Buena suerte con tu proyecto, Manuel!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar