TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: ancor en 21 de Octubre de 2010, 19:09:54

Título: Cálculo raiz cuadrada con PIC en C (ayuda por favor)
Publicado por: ancor en 21 de Octubre de 2010, 19:09:54
Necesito hacer un proyecto que se basa en el cálculo de la raiz cuadrada para obtener el valor eficaz de una tensión alterna. El caso es que hago una simple función de prueba y da un error. Teoricamente la libteria Math 24 incluye la función sqrt, pero algo me falla en el programa. No sé qué falla y es muy urgente puesto que el trabajo tiene plazo de entrega y estoy atascado en este punto. ¿Alguien puede decirme por favor qué está fallando?. El programa es el siguiente:

#pragma chip PIC16F627A           
#pragma origin 0x05 
#include "math24f.h"
#include "math24lb.h"

float raiz;     
   
void main(void)
{
      TRISA = 0x00;
      TRISB = 0x00;
   
   while (1)
      {   
      raiz = sqrt (49); // Calcula la raiz del número que pongamos como argumento..
      PORTB = raiz; // Presenta el valor de la raiz en binario a través del puerto B.
      }
}


Muchas gracias de antemano.

Ancor.
Título: Re: Cálculo raiz cuadrada con PIC en C (ayuda por favor)
Publicado por: migsantiago en 21 de Octubre de 2010, 19:22:08
Asegúrate de que 49 sea un número flotante o double.
Asegúrate de que raíz reciba un número entero.

Debes estudiar más sobre castings.
Título: Re: Cálculo raiz cuadrada con PIC en C (ayuda por favor)
Publicado por: ancor en 21 de Octubre de 2010, 19:36:56
Gracias por la rápida respuesta, pero la verdad es que estoy un poco verde en este tema.
Imagino que el problema debe estar en la declaración de la variable raiz y del formato del rsultado del cálculo sqrt pero no sé qué tipo de variable debe ser cada cosa o cómo controlar lo que me dices.


Asegúrate de que 49 sea un número flotante o double.
Asegúrate de que raíz reciba un número entero.

Debes estudiar más sobre castings.

Título: Re: Cálculo raiz cuadrada con PIC en C (ayuda por favor)
Publicado por: migsantiago en 21 de Octubre de 2010, 19:41:21
Por eso digo que debes estudiar más sobre castings.

http://www.aui.ma/personal/~O.Iraqi/csc1401/casting.htm
Título: Re: Cálculo raiz cuadrada con PIC en C (ayuda por favor)
Publicado por: ancor en 21 de Octubre de 2010, 19:47:10
OK, gracias por el link, no sabía ni lo que eran los castings.
Me será de gran ayuda.



Por eso digo que debes estudiar más sobre castings.

http://www.aui.ma/personal/~O.Iraqi/csc1401/casting.htm