Hallo,
wie schon im Thema beschrieben habe ich anscheinend ein ziemlich großes Brett vorm Kopf.
Ich will folgenden Code simulieren:
...aber ich kann die die Variablen (lat_dif und lon_dif) etc. nicht sehen (Location not valid.Code:#include <avr\io.h> #include <math.h> #include <stdint.h> #include <string.h> #include <stdlib.h> #include <util/delay.h> uint32_t AIS_posrep_lat = 32184764; uint32_t AIS_posrep_lon = 4857123; uint32_t rmc_lat_min = 32185302; uint32_t rmc_lon_min = 4855382; float AIS_calculate_distance (void) { /*local variables*/ float pyth_distance = 0; int32_t lat_calc, lon_calc; int32_t lat_dif = 0; int32_t lon_dif = 0; /*calculate x/y difference between own position and position of processed vessel*/ lat_dif += (AIS_posrep_lat - rmc_lat_min); lon_dif += (AIS_posrep_lon - rmc_lon_min); /*convert to nautical miles*/ lat_dif /= 10000; lon_dif /= 10000; lat_calc = lat_dif; lon_calc = lon_dif; //char buf23 [15]; //ltoa (lat_dif, buf23, 10); //glcd_print (0,13, &buf23 [0]); //ltoa (lon_dif, buf23, 10); //glcd_print (10, 13, &buf23 [0]); /*get squared value*/ lat_calc *= lat_calc; lon_calc *= lon_calc; /*calculate square root*/ pyth_distance = sqrt((lat_calc + lon_calc)); //ltoa (pyth_distance, buf23, 10); //glcd_print (15, 13, &buf23 [0]); return pyth_distance; }/*AIS_calculate_distance*/ /*'main' initializes periphery and calls subroutines*/ int main (void) { while (1) { uint8_t tempi = 0; tempi = AIS_calculate_distance (); } return 0; }
Was mache ich hier falsch?
Vielen Dank!
MfG, Marten83







Zitieren
Lesezeichen