|
Hola,
Tengo un dispositivo con un Mitsumi WML-C46 y estoy programándolo mediante bluelab.
Quiero poder pasar desde este dispositivo (por código) un caracter, por ejemplo una 'A', a una PDA emparejada con él (que lo haga cuando pulse un pulsador, por ejemplo)
El código para emparejarlo y para activar una rutina mediante el pulsador lo tengo hecho y funciona. Ahora, para la parte del envío del caracter, no sé como se hace. Más o menos esto es lo que he hecho:
variables definidas: static Sink sink_del_rfcomm;
Función para enviar los datos: static void enviar_caracter (Sink sink, unsigned char *mensaje, unsigned short long_msj) { /* Primero veo si hay suficiente "espacio" en el sink */ if(SinkSlack(sink)>=long_msj) { /* Obtengo el puntero al primer byte del sink */ unsigned char *puntero_a_mensaje = SinkMap(sink); if (puntero_a_mensaje != NULL) { /* Reservo espacio de memoria necesario para enviar el mensaje */ unsigned short espacio_necesario = SinkClaim(sink, long_msj); /* Copio el mensaje en el sink */ memcpy(puntero_a_mensaje+espacio_necesario, mensaje, long_msj); /* Envio los datos */ SinkFlush(sink, long_msj); } } }
LLamada a la función:
/* Una vez emparejado el Mitsumi con la PDA, obtenemos el sink */ sink_del_rfcomm = ((SPP_CONNECT_CFM_T*)message)->sink; (1) enviar_caracter(sink_del_rfcomm, "A", 1);
(1) me devuelve "1232" en una dirección de memoria. El problema que tengo es que SinkSlack me devuelve un 0 (sink inválido), por lo que no realiza las instrucciones de envío.
Cualquier idea me servirá de mucho.
Muchas gracias, un saludo.
|