Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: OTSELECTRONICSEIRL en 31 de Agosto de 2009, 08:07:45
Título: Codificacion en C para la multiplicacion, divison y raiz cuadrada
Publicado por: OTSELECTRONICSEIRL en 31 de Agosto de 2009, 08:07:45
Buen dia. Estoy diseñando un wattimetro digital monofasico con PIC y necesito el codigo en C para implementar operaciones matematicas de suma, resta, multiplicaion, division, potenciacion y raiz cuadrada; ya sea para logica entera o logica decimal (la logica de la aritmetica). Todo esto es para hacer las operaciones involucradas en las formulas del calculo de Vrms, Irms, cos@ (f.d.p.), potencia activa, aparente y reactiva. Si tuvieran informacion al respecto agardeceria. Saludos.
Título: Re: Codificacion en C para la multiplicacion, divison y raiz cuadrada
Publicado por: fabianjsm en 31 de Agosto de 2009, 08:43:44
Las operaciones de suma, resta, multiplicacion y division y las tienes implementadas en C :shock: Podes calcular la raiz utilizando el algoritmo Newton-Raphson, y la potencia con un bucle asi:
Código: C
int potencia(int x,int y)
{
int sgn;
int r=1;
if(y<0){
y *=-1;
sgn =1;
}else
sgn =0;
while(y--)
r *= x;
if(sgn)
return1/r;
return r;
}
Los tipos de datos con los que trabajes deben ser los adecuados para que no se produzcan desbordes.
Título: Re: Codificacion en C para la multiplicacion, divison y raiz cuadrada
Publicado por: Suky en 31 de Agosto de 2009, 09:38:57
Seguramente también vas a necesitar el calculo del coseno, incluyendo el archivo math.h puedes utilizar las funciones trigonométricas. Para el calculo de estas se realiza la serie de Taylor truncada ;-)