- 12V Akku mit 280 Ah bauen         
Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 26

Thema: Probleme beim Ausführen/programmieren

  1. #11
    Neuer Benutzer Öfters hier
    Registriert seit
    18.05.2014
    Beiträge
    13
    Anzeige

    Praxistest und DIY Projekte
    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 (16.06.2014 um 00:04 Uhr)

  2. #12
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    08.08.2008
    Ort
    DE
    Beiträge
    523
    Code:
    SerWrite("Hallo",5);
    
    
    uint8_t i;
    for (i=0; i<200; i++) {
    	Sleep(255);
    }
    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
    Baudrate im Hyperterminal richtig gesetzt? 2400?

    mfg

  3. #13
    Benutzer Stammmitglied Avatar von Spacy Bar
    Registriert seit
    10.05.2014
    Beiträge
    34
    Die variable i muss schon vor Init()
    deklariert werden, da sonst der Prozessor keinen Speicherplatz für sie reserviert. Die Warnung unten kannst du ignorieren, er beschwert sich nur, dass die Headerdatei signal.h überflüssig
    eingebunden wurde.

    LG
    Spacy Bar

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

    Die Warnung verschwindet, wenn du in asuro.h die Zeile #include signal.h in #include interrupt.h änderst:
    Code:
    #include <avr/io.h>
    #include <avr/interrupt.h>
    //#include <avr/signal.h>
    #include <stdlib.h>
    Vielleicht solltest du nach "Hallo" noch ein LFCR senden:

    SerWrite("Hallo\n\r",7);

    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. #15
    Neuer Benutzer Öfters hier
    Registriert seit
    18.05.2014
    Beiträge
    13
    Hey!

    Super, die Warnung ist jetzt weg, danke Jetzt habe ich noch folgende Warnung:

    Code:
    test.c:10: warning: pointer targets in passing argument 1 of 'SerWrite' differ in signedness
    (nur für den Fall, dass es relevant ist)

    der neue Code mit

    Code:
    SerWrite("Hallo\n\r",7);
    führt leider auch nicht zum Erfolg. Die Baudrate (ich nehme an Bits pro Sekunde) steht auf 2400, ja.

    Vielleicht eine blöde Frage, aber kann das irgendwie mit dem Compiler zusammenhängen? Vor allem irritiert mich eben auch, dass die LED nicht gelb leuchtet, da kann man ja beim programmieren nicht so viel falsch machen. Den Selbsttest muss man ja nicht compilieren und da hat es funktioniert.

    Ich hänge mal an, was im Hyper Terminal ankommt.

    Danke für die ganze Mühe!

    LG,

    ChuckKlicke auf die Grafik für eine größere Ansicht

Name:	Asuro_ht.jpg
Hits:	7
Größe:	80,8 KB
ID:	28499

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

    Die Pointerwarnung kam irgendwann mal nach einem Update vom WinAVR. Der zu ändernde Code in asuro.h:
    Code:
    /* function for serial communication */
    void SerWrite(char *data, unsigned char length); // edit by mic 1.4.2011
    Und entsprechend in asuro.c:
    Code:
    /* function for serial communication */
    void SerWrite(char *data, unsigned char length) // edit by mic 1.4.2011
    {
    Parameter für das Terminalprogramm sind 2400Baud, 8Bit, none Parity, 1Stopbit und keine Flußkontrolle. Die 7 Zeichen kommen an, werden aber nicht richtig eingelesen: "Ha_|CoR". Da der Fehler mit jedem Zeichen schlimmer zu werden scheint, tippe ich auf das Stopbit...

    Vor allem irritiert mich eben auch, dass die LED nicht gelb leuchtet, da kann man ja beim programmieren nicht so viel falsch machen.
    Nicht richtig kompilliert? Falsche Datei geflasht? Fehler beim Flashen? Oder der Klassiker beim Notepad: Quellcode nicht gespeichert vor dem Kompillieren. Versuch's doch einfach nochmal:
    Code:
    #include "asuro.h"
    
    int main(void)
    {
        Init();
        StatusLED(YELLOW);
        while(1);
        return 0;
    }
    (ungetestet)

    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!

  7. #17
    Neuer Benutzer Öfters hier
    Registriert seit
    18.05.2014
    Beiträge
    13
    Klicke auf die Grafik für eine größere Ansicht

Name:	ht_config.JPG
Hits:	9
Größe:	29,9 KB
ID:	28500Hey!

    Super, danke! Das hat so funktioniert, die Warnung kommt nicht mehr. Hab ich de ganze Teit genau so eingestellt, ich Poste das Bild mal im Anhang, geht aber leider nicht. Im Test sind aber mit gleichen Einstellungen so Sachen wie
    LED Test
    Motor Test
    o.Ä. darüber ganz problemlos empfangen worden.
    Und ich habe gar nicht den Eindruck dass es schlimmer wird, zwischendrin sind nur mal störeffekte, aber hinterher kommt meine ich immer wieder das gleiche an..
    Wegen der Lampe:
    Kompiliert habe ich es ganz normal, ich hatte dann erst die Datei die Lampe auf Grün stellt -> LED ist grün. Dann habe ich GREEN in YELLOW umgewandelt, kompiliert, geflasht -> LED leuchtet rot :/ wäre es möglich, dass du mir deinen Quellcode den du oben für die gelbe Lampe geschrieben hast einmal kompilierst und ich flashe den drauf? Wenn die Lampe bei dir gelb leuchtet müsste sie es ja dann auch bei mir gelb sein..

    LG,

    Chuck

  8. #18
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2008
    Ort
    Niederlanden
    Beiträge
    1.170
    StatusLED:

    Und wie ist es mit ein mögliche Hardware Fehler? Sind zbs. die Beinchen der Widerstanden vielleicht zu einander gebogen? Machen sie vielleicht Kontakt? Gibt es kleine (ungewünschte) Lötbrücken zwischen die Leiterbahnen auf die Platine? Vielleicht gibt es auch ein Verbindung zu den Widerstand R16 und IR-LED D10 das die Serielle Daten zerstört.

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

    "Schlimmer" bezog sich auf die Änderung innerhalb eines "Ha_|CoR"-Blockes. H und a wurden noch fehlerfrei erkannt, aber dann wurde es immer schlimmer. Vielleicht funktioniert es jetzt nachdem du fehler- und warnungsfrei kompilieren kannst.

    Die StatusLED ist eine Grundfunktion die beim asuro schon immer so funktionierte. Über Probleme durch den Kompiler habe ich bisher noch nichts gelesen. Da die Led D12 direkt zwischen zwei Ausgangspins und GND angeschlossen ist (natürlich mit den passenden Vorwiderständen R10/R31) kannst du mit gezogenem Mega8 die LED auch mit Drahtbrücken zwischen VCC (Pin 1 oder 7 des Mega8-Sockel) und PD2 (Pin 4) für rot bzw. PB0 (Pin 14) für grün zum Leuchten bringen:

    Bild hier  
    Bild hier  

    Gruß

    mic
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken A-Closer-Look-at-the-ATmega8.jpg   asuro-statusled.jpg  
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

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

    Mist, es tut mir soo leid! Jezt habe ich euch so lange mit der lampe aufgehalten und das war alleine mein dummer Fehler Das gelbe leuchten wirkt einfach so rot, dass man es nur bei abwechselndem blinken rot->gelb als gelb erkennen kann (zumindest ich). Ich habe das grade nochmal ausprobiert...zu meiner verteidigung: ich war nocht der einzige der das als rot gedeutet hat, das haben schon ein paar Leute gesehen
    Bleibt jetzt nur noch der IR-Fehler, den habt ihr ja jetzt auch gesehen, dass liegt jetzt nicht an einer Sehschwäche . Dass es schlimmer innerhalb eines Blockes wird stimmt, da hatte ich dich falsch verstanden. Das kompilieren mit den Veränderungen hat leider keine Verbesserung gebracht. Ich habe auch schon Hterm oder so und AVR Terminal ausprobiert, da empfange ich aber leider überhaupt nichts und außerdem hat die Übertragung beim Self Test mit Hyper Terminal ja auch problemlos geklappt...

    LG,

    Chuck

Seite 2 von 3 ErsteErste 123 LetzteLetzte

Ähnliche Themen

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

Berechtigungen

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

12V Akku bauen