COMUNICACION BLUETOOTH PARA SENSORES UTIUZAOOS EN APlICACtOf'lES DE CONTROl DE TRAFICO
Breve descripción de los campos de In primitiva
La estructura de la primi tiva está definida en el
archi vo cmJfcomm.h. Los campos de la primitiva
son :
1)
cO/lll ect_statl/s_t slntl/s.
En este campo se
guarda el resultado principal del intento de
cone~ón :
CrnConnectCornplete,
CrnCon–
nectTirneout,
CrnConnectCancelled,
CrnConnectDisconnect,
CrnConnectDis -
connectAbnorrnal , CrnConnectRernoteRe–
fusal, CrnConnectServiceNotSupported ,
CrnConnectFailed. Cuando la "Task 1" está en
el estado activo, el mensaje que se obtiene en este
campo es "CrnconnectCornplete" con lo cual es
posible comenzar a enviar (o recibir) datos.
2) BD_ADDR_T
nddr.
En este campo se tiene
la di rección del dispositivo remoto con el cual
se ha establecido la comurucación.
3)
1/;',/16
rfcJrnllle_size.
En este campo se
tiene la máxima longitud de los paquetes de da–
tos que podrán ser transmitidos por el disposi–
" tivo local. Este dato no se puede modificar por
el usuario.
24
4) SOllrce sOl/rce.
Es un apuntador tipo
"source" (fuente), de defiru ción particul ar en las
librerías del B1ueLab, que apunta a una región
de memoria ("buffer") donde se pueden recu-
perar datos de la
cone~ón
sobre el RFCOMM.
Este apuntad or es ú til para poder marupular
los da tos recibidos por el dispositivo Blue–
tooth local.
5) Sink sink.
Es un apuntador tipo "sink"
(pozo), de defini ción particular en las librerías
del BlueLab, que apunta a una región de me–
mori a ("buffer") desd e la cual se pueden enviar
datos sobre el RFCOMM. Este apuntador es útil
para poder mani pular los datos que se desea
enviar al dispositivo Bluetooth remoto.
6) uiul1 6 conu_server
_clzall .
Es el número del
canal RFCOMM que la conexión ha creado en el
dispositivo local ("server"). Este parámetro es
relevante cuando un servidor debe multiplexar
la comuni cación entre varios esclavos en una
pi conet.
7) Para comprobar si la conexión ya se en–
cuentra en el estado ACTIVO (ver Fig. 15),
la aplicación veri fica si en el campo
cou–
necl_stahls_1 slnt/./ s
se ha colocado la sentencia
("string") "CrnconnectCornplete", con lo cual
se puede iniciar el envio y / o recepción de datos
a través del canal RFCOMM. Vale la pena des–
cribir la operación de recepción / transmisión de
datos . La siguiente porción del códi go del pro–
grama del Apéndi ce A realiza la verificación del
estado activo del proceso de conexión:
1...,15,16,17,18,19,20,21,22,23,24 26,27,28,29,30,31,32,33,34,35,...45