-         

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

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    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
  •