No entiendo porque hay que leer todos los caracteres de entrada, pero bueno supongamos que haciendo eso no falle.
Tus funciones están mal. En la implementación de "Leer_Respuesta" estás declarando una variable "char buffer_todos_caracteres[6]", pero nunca la usás. Después, en la función "SacarCaracteres" definís la variable "char buffer_caracteres_buenos[2]" y lo trabajás pero en ningún momento retornas dicho valor. Y por otro lado, sólo le das una dimensión de 2 pero si tu dispositivo te devuleve un mensaje de error que ocupe más te vas a perder varios caracteres.