En la primera prueba enviaba lo que escribía del teclado y funcionaba, lo que tiene algún error es la funcion pelcoD_message porque, aunq compila bien, al ejecutar me tira un error de "segmentation fault".
Alguien ve donde meto la pata? según creo uso el malloc correctamente.
Código:
Así mismo una duda, para este protocolo tengo que enviar 7 bytes uno detrás de otro. Uno con el Start of Frame, otro con el address.. etc int main(int argc, char **argv){ int fd; char *cadena; while(1){ //scanf("%s", cadena); fd = open_port(); cadena = (char *) pelcoD_message(21, 1, 217); write_port(fd, cadena); } return(0); } void *pelcoD_message(int address, int action, int value){ char *cadena; cadena = (char *) malloc(sizeof(char)); cadena[0] = 'a'; return cadena; }
Por ejemplo:
0xFF 0x01 ... etc
Como hago eso? porq si lo defino la cadena a enviar como una cadena tipo char me enviará caracteres, no los bytes en si, y si lo defino como int me envíara integers en lugar de bytes.. con eso tengo un pequeño dilema
gracias y un saludo