Ver Mensaje Individual
  #3 (permalink)  
Antiguo 18/06/2008, 08:59
diomer
 
Fecha de Ingreso: junio-2008
Ubicación: Puerto Ordaz
Mensajes: 6
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: transmision serial de un pc a otro

Hola amigo gracias por la sugerencia, mas o menos asi es el trozo del codigo

#define __WINDOWS_COM__ //Para el sistema operativo donde se esta trabajando
#include "com/serial.h" //Libreria con todo el protocolo de comunicacion
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <windows.h>
#include <stdlib.h>
#include <fcntl.h>
#include <errno.h>
#include <unistd.h>


int main()
{

HANDLE fd; //Manejador del puerto cuando es abierto.
DCB OldConf; //Parametros de retorno en la cominicacion
char cad[1] ="$";//Datos a transmitir para inicio de tx
char xx[2]; //Dato a recibir de 2 bytes
int n,i=0; //Inicializacion
char dat[2]="FF"; //Dato a comparar para fin de tx

fd=Open_Port("COM1"); //Abre el puerto Serie en windows
//fd=Open_Port("/dev/ttyS0");
OldConf=Get_Configure_Port(fd); //Guardo la configuracion del puerto
Configure_Port(fd,B9600,"8N1"); //9600 baudios, 8 bits de dato, paridad ninguna, 1 de bit de parada
Set_Hands_Haking(fd,0); //Control de flujo niguna


Write_Port(fd,cad,1); //Escribe o envia un caracter Inicio De TX
for (i=0;i<32;i++)
{
int Clean_Buffer( HANDLE fd);

if(Kbhit_Port(fd)<2) //Espero a leer hasta que se tengan 2 bytes en el buffer de entrada
n=Read_Port(fd,xx,2); // Leo el puerto serie
if(xx!=dat)
{
printf("dato: %s\n", xx);
}

else
printf("Fin de la transmision\n");
}


Set_Configure_Port(fd,OldConf); //Restituyo la antigua configuracion del puerto
Close_Port(fd); // Cierro el puerto serie

printf("\nPresione ENTER para terminar\n");
getchar();

return 0;
}