math functions and mplab + c18

eng.alamin

New Member
hello

when i added this function into my c18 code i had hung in execution
am using pic18f4550

some buddy's said to me that i may facing stack over flaw case although there is no warnings or error message during compiling
but i increased stack first to 512 but nothing change so i jump to 1024 stack i removed all usb stack .
all that and nothing change these is function which cause hung in process
---------------
Code:
  float dstance(  float lat1,  float lon1,  float lat2,  float lon2)
        {
       

   static float a,c , y ;
float d;

           lon1 *= 3.14159265 / 180;
            lat1 *= 3.14159265 / 180;
            lon2 *= 3.14159265 / 180;
            lat2 *= 3.14159265 / 180;

    a = sin(  (lat2 - lat1)/2) ; 
     a *= sin((lat2 - lat1)/2) ;
     y =  cos(lat1) * cos(lat2) ;
     y *= sin((lon2 - lon1)/2) ;
    y *= sin((lon2 - lon1)/2);
     
     y += a ;
     c = 2 ;
  a = sqrt(1-(y ));
  y = sqrt(y) ;
  c *= atan2( y , a );
   
      d = 6371 * c;
  
    
            return 6371 * c;
        }


but when i remove c *= atan2( y , a ); program run good in MCU

help !! please
 
Cookies are required to use this site. You must accept them to continue using the site. Learn more…