- Akku Tests und Balkonkraftwerk Speicher         
Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 23

Thema: WIN AVR warning

  1. #11
    Benutzer Stammmitglied
    Registriert seit
    16.12.2009
    Beiträge
    71
    Anzeige

    LiFePo4 Akku selber bauen - Video
    Ja und wie, im asuro.h habe ich folgendes gefunden:
    #include <avr/io.h>
    #include <avr/interrupt.h>
    #include <avr/signal.h>

  2. #12
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.07.2004
    Ort
    Südhessen
    Beiträge
    1.312
    Dann ist die Software für den Asuro mit einem älteren GCC getestet worden. Also entweder machst Du einen Downgrade, oder Du kommentierst die Zeile aus:
    #include <avr/io.h>
    #include <avr/interrupt.h>
    //#include <avr/signal.h>

  3. #13
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    61
    Beiträge
    5.799
    Blog-Einträge
    8
    #include <avr/interrupt.h>
    //#include <avr/signal.h>
    Das ist wohl die sauberste Lösung.

    ... ein Feature, damit man bei vielen Warnings die Fehler filtern kann.
    Das wußte ich auch nicht. Aber das liegt wohl auch daran, dass ich teilweise komplett umgebaute Programme beim ersten Versuch schon fast fehler- und warnungsfrei übersetzen kann.

    Gruß

    mic
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  4. #14
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.07.2004
    Ort
    Südhessen
    Beiträge
    1.312
    Meinen Respekt, radbruch!
    Ich kann das nichtmal bei meinen eigenen...

  5. #15
    Benutzer Stammmitglied
    Registriert seit
    16.12.2009
    Beiträge
    71
    Und noch was,die Funktion speed müsste doch im ASURO.H definiert sein.
    Warum kommt dan dieser Warnhinweis:
    test.c:102: warning: operation on 'speed' may be undefined
    test.c:103: warning: operation on 'speed' may be undefined

  6. #16
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2008
    Ort
    Niederlanden
    Beiträge
    1.170
    Las deine code bitte sehen. Ohne das mussen wir auf unsere glasskugel verzichten. Und der fehlt manchmal.

    Im asuro.h oder eben asuro.c gibts gar keinen variabele oder funktion 'speed'. Nur die funktion MotorSpeed.

  7. #17
    Benutzer Stammmitglied
    Registriert seit
    16.12.2009
    Beiträge
    71
    Hier die Stelle mit den Fehlern. Ist außerdem aus dem Buch "SPASS MIT ASURO BAND ":
    Code:
    	if  (difference<-speed)difference=-speed;
    		if	(difference>speed)difference=speed;
    		if	(difference>0) MotorSpeed(speed,speed++);
    		else MotorSpeed(speed,speed--);
    	
    	
    	
    	
    	
    			
    	}
    
    return 0;
    }

  8. #18
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    61
    Beiträge
    5.799
    Blog-Einträge
    8
    Wenn die IFs nicht zutreffen hat speed keinen definierten Wert. Etwas wie

    unsigned char speed=100;

    fehlt hier.
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  9. #19
    Benutzer Stammmitglied
    Registriert seit
    16.12.2009
    Beiträge
    71
    ist denke ich mal doch alles vorhanden:
    Code:
    #include "asuro.h"	
    #define SCHWELLEL 582
    #define SCHWELLER 549
    #define ANPASSUNG 10
    #define LOW 0
    #define HIGH 1			
    	int main (void){
    	unsigned int data[2];
    	unsigned long int count=0;
    	signed int status[2]={0,0};
    	signed int difference=0;
    	signed int speed=200;
    	int i=0;
    			Init();
    				
    
    
    
    
    
    
    
    			while(1){
    	
    		switch(count)
    	{
    		case 0: MotorDir(FWD,FWD);speed=200;break;					
    		case 249: MotorDir(BREAK,BREAK);
    			for(i=0;i<282;i++){Sleep(255);}
    				MotorDir(FWD,BREAK);speed=200;count=250;break;    
    		case 330: MotorDir(BREAK,BREAK);
    		}
    	
    	
    	
    
    	
    		OdometrieData(data);
    		if 	((status[0]==LOW)&&(data[0]>SCHWELLEL+ANPASSUNG))
    			{
    				status[0]=HIGH;
    				difference++;
    				count++;
    			}
    		if ((status[0]==HIGH)&&(data[0]<SCHWELLEL-ANPASSUNG))
    			{
    				status[0]=LOW;
    				difference++;
    				count++;
    			}	
    		if	((status[1]==LOW)&&(data[1]>SCHWELLER+ANPASSUNG))	
    			{
    				status[1]=HIGH;
    				difference--;
    			}	
    		if	((status[1]==HIGH)&&(data[1]<SCHWELLER-ANPASSUNG))	
    			{
    				status[1]=LOW;
    				difference--;	
    			}
    		if  (difference<-speed)difference=-speed;
    		if	(difference>speed)difference=speed;
    		if	(difference>0) MotorSpeed(speed,speed++);
    		else MotorSpeed(speed,speed--);
    	
    	
    	
    	
    	
    			
    	}
    
    return 0;
    }

  10. #20
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    61
    Beiträge
    5.799
    Blog-Einträge
    8
    Ist das der orginale Code aus dem Buch? Die Bildung von difference aus den Odometriedaten scheint mir ja noch plausibel, aber das hier ist doch fragwürdig:

    Code:
          if  (difference<-speed)difference=-speed;
          if   (difference>speed)difference=speed;
          if   (difference>0) MotorSpeed(speed,speed++);
          else MotorSpeed(speed,speed--);
    Wenn der Odozählerunterschied kleiner -speed dann Unterschied gleich -speed
    Wenn der Odozählerunterschied größer speed dann Unterschied gleich speed

    Das "undefiniert" bezieht sich übrigens auf das ++ (bzw. --) hier:
    MotorSpeed(speed,speed++);
    Warum das der Kompiler anmotzt ist mir auch unklar.

    Gruß

    mic
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

Seite 2 von 3 ErsteErste 123 LetzteLetzte

Berechtigungen

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

12V Akku bauen