-         
Ergebnis 1 bis 2 von 2

Thema: Brett vorm Kopf bei Simulation

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    21.04.2005
    Ort
    Hannover
    Beiträge
    190

    Brett vorm Kopf bei Simulation

    Anzeige

    Hallo,

    wie schon im Thema beschrieben habe ich anscheinend ein ziemlich großes Brett vorm Kopf.

    Ich will folgenden Code simulieren:
    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;
    }
    ...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

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    21.04.2005
    Ort
    Hannover
    Beiträge
    190
    OK, habe das Brett entfernt

    In der ersten Include habe ich statt #include <avr/io.h>, #include <avr\io.h> geschrieben.
    Dazu kommt noch, dass der Compiler mir die "Variablen" (sind ja in diesem Falle keine) wegoptimiert hat.

    Naja, blöd gelaufen.

    MfG, Marten83

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •