Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/12/2004, 17:12
ODS
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1
Antigüedad: 19 años, 5 meses
Puntos: 0
Mensaje Manejar el puerto serie en C para programar un micro

Que tal??

Estoy desarrollando una aplicacion en la que necesito enviar un archivo .hex para programar un microcontrolador. He estado buscando funciones en C para hacer esto y he encontrado la siguiente:

write(fd, "a", 1);

Esta función retorna -1 si hay error o el numero de Bytes enviados si se han enviado correctamente.

Mi problema es que necesito enviar un caracter leido de un archivo .hex (en ASCII). Para leer el archivo .hex he usado el siguiente codigo:

int car;
char nombre[13]=PWM.hex"; // File which will bi open
FILE *buffer;
buffer = fopen( nombre, "r" );
printf( "Fichero: %s -> ", nombre );
if( buffer )
printf( "File open\n" );
else
{
printf( "File is not open \n" );
return 1;
}
car=fgetc(buffer);

Entonces tengo en la variable car el primer caracter del archivo .hex, pero cuando quiero enviarlo por el puerto serie mediante la sentencia:

write(fd, car, 1);

la función retorna -1 indicando que hay un error.

¿Como puedo convertir el dato leido del archivo .hex de modo que pueda usar la función write para manejar el puerto???

Si esto no es posible que función puedo usar para reemplazar write????

Gracias....