conexion bluetooth hc-05 y hc06

hola buenas,
estaba realizando un proyecto con dos Arduinos uno, que cada uno lleva dos shield adafruit gps y dos modulos bluetooth(HC-05,HC-06).
no consigo que el arduino con el hc-06 reciva la posicion que tiene el otro arduino...
los dos modulos bluetooth me funcionan y estan conectados, de hecho con un codigo basico se transmiten datos entre ellos aunque lo que recibo en el terminal son bolas negra( si alguien sabe el porqué se lo agradeceria)
el problema gordo viene que no me transmite de uno a otro la posicion obtenida por gps estando conectados por bluetooth
el codigo utilizado es

PARA EL HC-05

#include <SoftwareSerial.h>

float latitud;
float longitud;

SoftwareSerial BTserial(11, 10); // RX | TX
// Connect the HC-05 TX to Arduino pin 11 RX.
// Connect the HC-05 RX to Arduino pin 10 TX through a voltage divider.
//

byte * c = NULL;

void setup()
{

Serial.begin(9600);

// HC-05 default serial speed for AT mode is 38400
BTserial.begin(38400);
if (BTserial.available()) Serial.println("BT ok"); else Serial.println("BT nok");

}

void loop() // run over and over again
{

}

if (GPS.fix) {
Serial.print("Latitud ");
latitud=(GPS.latitudeDegrees);
Serial.print(latitud,4);
Serial.println(GPS.lat);
Serial.print("longitud ");
longitud=(GPS.longitudeDegrees);
Serial.print(longitud, 4);
Serial.println(GPS.lon);
/* Serial.print("Location (in degrees, works with Google Maps): ");
Serial.print(GPS.latitudeDegrees, 4);
Serial.print(", ");
Serial.println(GPS.longitudeDegrees, 4);

Serial.write('P');
BTserial.write('P');
c = (byte *) &latitud;
Serial.write(c,4);
BTserial.write(c,4);
c = (byte *) &longitud;
Serial.write(c,4);
BTserial.write(c,4);

}
BTserial.write('k');
}
}

PARA EL HC-06

#include <SoftwareSerial.h>

float latitud1;
float longitud1;

SoftwareSerial BTserial(2, 3); // RX | TX

byte c[4];
int i = 0;

void setup()
{

Serial.begin(9600);

// HC-05 default serial speed for AT mode is 38400
BTserial.begin(38400);

}

if (GPS.fix) {
Serial.print("Latitud1");
latitud1=(GPS.latitudeDegrees);
Serial.print(latitud1,4); Serial.println(GPS.lat);
Serial.print("longitud1 ");
longitud1=(GPS.longitudeDegrees);
Serial.print(longitud1, 4); Serial.println(GPS.lon);
delay(5000);
}

~~ if (BTserial.available()) // aqui pongo el hc05~~
~~ {~~
c[0] = BTserial.read();
~~ Serial.print(c[0]);~~
~~ if (c[0] == 'P') {~~
~~ for (i=0;i<4;i++) {~~
~~ c = BTserial.read();~~
* }*
_ latitud1 = (float) *c;_
* Serial.print(latitud1);*
* for (i=0;i<4;i++) {*
_ c = BTserial.read();_
* }*
_ longitud1 = (float) *c;_
* Serial.print(longitud1);*
* }*
* }[/s]*
LA PARTE QUE NO FUNCIONA ES LA QUE SALE AL FINAL DE CADA LOOP(SUBRAYADA) ... NO ME SALE BLUETOOTH AVAILABLE
MUCHAS GRACIAS