- Akku Tests und Balkonkraftwerk Speicher         
Ergebnis 1 bis 10 von 26

Thema: Probleme beim Ausführen/programmieren

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    18.05.2014
    Beiträge
    13
    Hey!

    Danke, das Terminal werde ich gleich mal ausprobieren
    oh, okay, dann werde ich das mal tun, in der Anleitung gab es aber glaube ich auch so ähnliche Beispiele. Nö, die Led ist richtig eingebaut, beim Test hast die Hardware einwandfrei funktioniert.Das while 1 return 0 hatte ich auch noch ergänzt, aber macht das bei dem Code oben einen Unterschied? da geht der doch sowieso nicht aus der while schleife raus mit dem motor raus, oder? Auf jeden Fall fängt er bei dem Code oben noch nichtmal an die Räder zu drehen sondern die Lampe ist einfach rot, was sie nach meinem Code gar nicht sein darf. für den Fall dass wegen falscher taster werde PollSwitch() auch so größer als 0 ist habe ich ja extra das gelbe leuchten angefügt um zu sehen dass er die Schleife trotzdem abarbeitet, da kommt er aber ja offensichtlich gar nicht hin.
    Danke für deine Tipps, aber ich verstehe immer noch nicht so ganz warum bei mir dieser Fehler auftritt..hat vielleicht einen ähnlichen Code der bei ihm funktioniert den ich mal bei mir testen kann?

    LG,

    Chuck

  2. #2
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    62
    Beiträge
    5.799
    Blog-Einträge
    8
    Hallo

    Zeig doch noch deine aktuelle Programmvariante. Beim Beispiel aus dem ersten Beitrag liegt das Problem eindeutig bei Pollswitch().

    Das "continue" kannst du dir bei deinem Programm sparen:
    Die continue Anweisung springt weiter zum Anfang der Schleife, überspringt also die Anweisungen, die zwischen continue und dem Schleifenende liegen
    (Von http://www.peace-software.de/ckurs11.html)

    Gruß

    mic

    [Edit]
    Eine alternative Tastenabfrage kann man mit der Überprüfung des Tasten-Eingangspin PC4 ohne ADC durchführen:
    https://www.roboternetz.de/community...l=1#post269681
    Geändert von radbruch (14.06.2014 um 19:36 Uhr)
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    18.05.2014
    Beiträge
    13
    Hey!

    Okay, dann gucke ich mir nochmal an wie ich das mit dem PollSwitch realisiere, danke

    Ich weiß aber jetzt auch warum mir das nicht aufgefallen ist. Ich dachte ja wenn der Sensor trotzdem Werte > 0 liefert sehe ich wenigstens dass die LED nach der Schleife gelb leuchtet, aber genau das tut sie nicht. wenn ich ein einfaches Programm schreibe:


    Code:
    #include "asuro.h"
    
    int main(void)
    {
        Init();
        
        StatusLED(GREEN);
    	
        while(1);
    	return 0;
    
    }

    funktioniert das. Wenn ich das GREEN durch YELLOW ersetze, leuchtet die Lampe rot. Im Selbsttest hat sie aber gelb geleuchtet. Was hab ich denn da falsch gemacht? ich hatte mich so über das gelbe leuchten im Selbsttest gefreut

    LG,
    Chuck
    Geändert von radbruch (14.06.2014 um 19:43 Uhr) Grund: Code-Tag eingefügt :)

  4. #4
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    62
    Beiträge
    5.799
    Blog-Einträge
    8
    Hallo

    Wenn ich das GREEN durch YELLOW ersetze, leuchtet die Lampe rot.
    Das kann ich nicht erklären. Die zweifarbige StatusLED ist eine grüne und eine rote LED in einem Gehäuse. Wenn die Ansteuerung von Grün funktioniert und Rot auch leuchtet sollten beide LED auch funktionieren. Selbst wenn die LED falschrum eingelötet wurde sollten bei Yellow beide LED angesteuert werden und die Lampe Gelb leuchten. *kopfkratz

    Code:
    PD2 o--|>|--o--|<|--o PB0
           gn  gnd  rt
    In asuro.c endet Init() mit:

    Code:
    	ODOMETRIE_LED_OFF;
    
    	FrontLED(OFF);
    	BackLED(ON,ON);
    	BackLED(OFF,OFF);
    	StatusLED(GREEN);
    	
    	MotorDir(FWD,FWD);
    	MotorSpeed(0,0);
    	sei();
    }
    Das StatusLED(GREEN); kannst du dir also sparen...

    In meinem letzen Beitrag gibt es ein Edit mit der Tastenabfrage ohne ADC.

    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!

  5. #5
    Benutzer Stammmitglied Avatar von Spacy Bar
    Registriert seit
    10.05.2014
    Beiträge
    34
    Um nochmal meinen Senf dazuzugeben, habe ich auch einen passenden Code entwickelt.
    Code:
    #include "asuro.h"
    
    int main(void){
         while(1){
              StatusLED(GREEN);
              MotorDir(FWD,FWD);
              MotorSpeed(120,120);
              if(PollSwitch()!=0){
                   MotorDir(BREAK,BREAK);
                   MotorSpeed(0,0);
                   StatusLED(RED);
                   }
             }
    while(1);
    return 0;
    }
    Zu eventuellen elektronischen Fehler kann ich nix sagen ---> nur Programmierer

    LG
    Spacy Bar

  6. #6
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    62
    Beiträge
    5.799
    Blog-Einträge
    8
    Das Init() fehlt noch und ich würde dies ergänzen:

    StatusLED(RED);
    while(PollSwitch()!=0);
    }

    Wenn PollSwitch() richtige Werte liefert sollte das funktionieren.
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    18.05.2014
    Beiträge
    13
    Hey!

    Danke für die Antworten, das gelbe Licht ist also eine Kombination aus grün und rot? Da ich YELLOW richtig geschrieben habe kann das Problem ja dann eigentlich nur an der Funktion liegen die man mit StatusLED aufruft, oder?
    Und jetzt komme ich direkt schon wieder mit der nächsten Frage ich habe jetzt eine alte Version von Hyperterminal runterladen können mit der der Empfang beim Selbsttest funktioniert hat, Asuro hat immer brav gemeldet was er grade testet. ich habe dann als ersten Schritt in Richtung Sensor auslesen ein Programm geschrieben was einfach immer wieder hallo an Hyperterm schicken soll:

    Code:
    #include "asuro.h"
    
    int main(void)
    {
        Init();
        
        StatusLED(GREEN);
    	while(1)
    	{
    		SerWrite("Hallo",5);
    		/*
    		for (i=0; i<200; i++)
    		{
    		Sleep(255);
    		}
    		*/
    	}
    	
        while(1);
    	return 0;
    
    }
    Die Schleife, die dazwischen Pause machen soll habe ich erst einmal deaktiviert da der Compiler da meckert, er sagt immer i sei nicht deklariert, das macht man aber ja erst in der Schleife, dann muss wohl irgendwo anders der Fehler liegen.
    Worum es mir aber eigentlich geht ist, dass ich immer nur kryptische Zeichen Empfange. Asuro sendet auf jeden Fall, ich empfange immer etwas wenn er an ist und in der Nähe ist, allerdings sind das irgendwelche Zeichen und leider nicht das Hallo. muss ich da irgendwie noch mitteilen wie die Zeichen zu interpretieren sind oder so? Im SelfTest hab ich auf jeden Fall immer normale Wörter empfangen

    LG,

    Chuck

    PS: Ich bekomme jedes mal beim Kompilieren eine Warnung:
    c:/winavr-20100110/lib/gcc/../../avr/include/avr/signal.h:36:2: warning: #warning "This header file is obsolete. Use <avr/interrupt.h>."

    Kann ich die ignorieren oder muss ich da etwas ändern?
    Geändert von Chuck_Norris (15.06.2014 um 23:04 Uhr)

Ähnliche Themen

  1. Probleme beim Programmieren
    Von ActiveRobo im Forum Asuro
    Antworten: 11
    Letzter Beitrag: 26.01.2012, 19:23
  2. Probleme beim Programmieren
    Von robochick im Forum Asuro
    Antworten: 2
    Letzter Beitrag: 09.04.2011, 01:59
  3. Probleme beim Programmieren eines AtMegas
    Von schwerminator im Forum AVR Hardwarethemen
    Antworten: 5
    Letzter Beitrag: 25.03.2008, 15:58
  4. Probleme beim Programmieren (wegen Windows XP???)
    Von DeadDealer im Forum AVR Hardwarethemen
    Antworten: 4
    Letzter Beitrag: 11.01.2007, 15:00
  5. Antworten: 9
    Letzter Beitrag: 14.03.2005, 20:08

Berechtigungen

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

LiFePO4 Speicher Test