Hola,
para convertir una cadena de texto a número existen varias funciones en C
- atoi() para convertir texto a int
- atol() para convertir texto a long int
- atof() para convertir texto a float, que es la que necesitas
Prueba con esto:
float valorSD, valorGPS;
char txtSD[11];
char txtGPS[11];
void setup()
{
Serial.begin(9600);
}
void loop()
{
strncpy(txtSD, "12.3400", 10);
strncpy(txtGPS, "1.0000", 10);
valorSD = atof(txtSD);
valorGPS = atof(txtGPS);
Serial.println(valorSD - valorGPS, DEC);
delay(3333);
}
Si van a ser más decimales, define una cadena de tamaño más grande.