Marten83
02.11.2009, 13:17
Hallo,
wie schon im Thema beschrieben habe ich anscheinend ein ziemlich großes Brett vorm Kopf.
Ich will folgenden Code simulieren:
#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;
}
...aber ich kann die die Variablen (lat_dif und lon_dif) etc. nicht sehen (Location not valid.
Was mache ich hier falsch?
Vielen Dank!
MfG, Marten83
wie schon im Thema beschrieben habe ich anscheinend ein ziemlich großes Brett vorm Kopf.
Ich will folgenden Code simulieren:
#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;
}
...aber ich kann die die Variablen (lat_dif und lon_dif) etc. nicht sehen (Location not valid.
Was mache ich hier falsch?
Vielen Dank!
MfG, Marten83