-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 12

Thema: "Negatives Flashen"

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    08.03.2013
    Beiträge
    5

    "Negatives Flashen"

    Anzeige

    Hallo Leute,
    ich hab da mal ne Frage:
    Ich hab mit einem Kumpel zusammen ein Linienfolgeprogramm geschrieben.
    Nun habe ich vergessen das Programm auf meinen USB Stick zu ziehen und mitzunehmen.
    Der Kumpel sitzt gerade in Südspanien und genießt seine Ferien.

    Deshalb jetzt meine Frage:

    Gibt es eine Möglichkeit, mit dem USB Transceiver die .hex Datei vom Asuro auf den PC zu übertragen und diese dann wieder in einen Quelltext, den ich mir ansehen kann umzuwandeln?
    Das Programm hat nämlich einwandfrei funktioniert. Das, das ich geschrieben sagt mir aber, dass LineData "too few arguments" hat. Egal was ich versuche der meckert mit mir rum oder führt nicht das Richtige aus.
    Da ich aber noch nichts anderes auf den Asuro geflasht habe, hab ich gerade noch die Hoffnung, dass man das irgendwie noch vom Asuro abgreifen kann.
    Immerhin hat der ja die .hex Datei für sich gespeichert. Und was gespeichert ist, sollte doch auch abrufbar sein, oder?

    Mit verzweifelten Grüßen
    Andreas

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    20.08.2008
    Ort
    Karlsruhe
    Alter
    29
    Beiträge
    1.221
    Hallo Andreas,

    Zitat Zitat von Andreas Bullmann Beitrag anzeigen
    Gibt es eine Möglichkeit, mit dem USB Transceiver die .hex Datei vom Asuro auf den PC zu übertragen und diese dann wieder in einen Quelltext, den ich mir ansehen kann umzuwandeln?
    Nein.

    Zitat Zitat von Andreas Bullmann Beitrag anzeigen
    Das, das ich geschrieben sagt mir aber, dass LineData "too few arguments" hat. Egal was ich versuche der meckert mit mir rum oder führt nicht das Richtige aus.
    Zeige doch Mal den Code, offenbar übergibst du einer Funktion weniger Parameter als diese gerne hätte.

    mfG
    Markus
    Tiny ASURO Library: Thread und sf.net Seite

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    08.03.2013
    Beiträge
    5
    Also ich hab daran nochmal rumgearbeitet bis mir der Compiler keinen Fehler mehr ausgespuckt hat, allerdings bin ich mir nicht sicher ob das funktionieren wird und will das jetzt auch nicht flashen, bevor ich nicht weiß, dass das funktionieren wird. Denn im Moment ist ja noch das Programm drauf das funktioniert. Da muss ich nur noch die Radien versuchen zu verbessern, aber da hab ich auch schon eine Idee.
    Da wäre dann der Code von dem Programm, wie ich es im Moment habe:


    # include <asuro.h>

    void sleep_ms(int ms){
    while(ms>0){
    Sleep(72);
    ms=ms--;
    }
    }

    void rechts_daneben (void){
    BackLED(OFF,ON);
    MotorSpeed(0,120);
    sleep_ms(1000);
    //MotorSpeed (120,120);
    BackLED(OFF,OFF);
    }

    void links_daneben (void){
    BackLED(ON,OFF);
    MotorSpeed(120,0);
    sleep_ms(1000);
    //MotorSpeed(120,120);
    BackLED(OFF,OFF);
    }

    void main (void){
    unsigned int data [2];
    Init();
    MotorDir(RWD,RWD);
    MotorSpeed(120,120);
    FrontLED(ON);
    while(1){
    LineData(data);
    if (data[0]!=data[1]){
    if (data[0]>data[1]){
    rechts_daneben();
    }
    else /*(data[0]<data[1])*/{
    links_daneben();
    }
    }
    else{
    MotorDir(RWD,RWD);
    MotorSpeed(120,120);
    BackLED(OFF,OFF);
    }
    LineData(data);
    }
    }
    Geändert von Andreas Bullmann (20.03.2013 um 19:09 Uhr)

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

    So kann ich das Fehler- und Warnungsfrei kompilieren:

    Code:
    # include <asuro.h>
    
    void sleep_ms(int ms)
    {
    	while(ms>0)
    	{
    		Sleep(72);
    		ms--;
    	}
    }
    
    void rechts_daneben (void)
    {
    	BackLED(OFF,ON);
    	MotorSpeed(0,120);
    	sleep_ms(1000);
    	//MotorSpeed (120,120);
    	BackLED(OFF,OFF);
    }
    
    void links_daneben (void)
    {
    	BackLED(ON,OFF);
    	MotorSpeed(120,0);
    	sleep_ms(1000);
    	//MotorSpeed(120,120);
    	BackLED(OFF,OFF);
    }
    
    int main (void)
    {
    	unsigned int data [2];
    	Init();
    	MotorDir(RWD,RWD);
    	MotorSpeed(120,120);
    	FrontLED(ON);
    	while(1)
    	{
    		LineData(data);
    		if (data[0]!=data[1])
    		{
    			if (data[0]>data[1])
    			{
    				rechts_daneben();
    			}
    			else /*(data[0]<data[1])*/
    			{
    				links_daneben();
    			}
    		}
    		else
    		{
    			MotorDir(RWD,RWD);
    			MotorSpeed(120,120);
    			BackLED(OFF,OFF);
    		}
    		LineData(data);
    	}
    }
    Änderungen:

    Sleep(72);
    ms--;

    und

    int main (void)

    Das # include <asuro.h> funktioniert bei mir mit den <> nicht, ich brauche die "" (Libversion 2.3)

    Gruß

    mic

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

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    29
    Beiträge
    4.545
    Du kannst die Hex sichern bevor du das neue Programm flasht. Die Hex speicherst du dann und kannst es immer wieder flashen, wenn das andere Programm nicht funktioniert. Die Hex kannst du aber nicht in einen Quellcode wandeln.

    MfG Hannes

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    20.08.2008
    Ort
    Karlsruhe
    Alter
    29
    Beiträge
    1.221
    Hannes: Dazu muss man das Hexfile aber haben ... und genau das war Teilproblem 1

    @Andreas: Warum überschreibst du das Programm nicht einfach? Dein Kollege hat sicher noch die funktionierende Version, du kannst also an deinem Code selbst optimieren und nach dem Urlaub zeigt sich dann ob du den alten Quelltext überhaupt noch brauchst ...

    mfG
    Markus

    PS: Versionsverwaltungssysteme (git + github!) sind was feines ...
    Tiny ASURO Library: Thread und sf.net Seite

  7. #7
    Erfahrener Benutzer Roboter-Spezialist Avatar von robo_tom_24
    Registriert seit
    04.02.2012
    Ort
    Burgenland, Österreich
    Beiträge
    485
    <klugschei* ein>
    Genau genommen könnte er schon aus ner hex Datei Programmcode machen - rückassemblieren nennt sich das ganze. Es kommt dann aber keine C Sprache raus sondern "lesbare" Maschinensprache, eine Art Assembler
    <\klugschei* aus>

    praktisch findet dass in deinem Fall leider keine Anwendung

    grüße

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    08.03.2013
    Beiträge
    5
    Zitat Zitat von robo_tom_24 Beitrag anzeigen
    <klugschei* ein>
    Genau genommen könnte er schon aus ner hex Datei Programmcode machen - rückassemblieren nennt sich das ganze. Es kommt dann aber keine C Sprache raus sondern "lesbare" Maschinensprache, eine Art Assembler
    <\klugschei* aus>
    heißt das nicht:
    # include <klugschei*.h>

    void besserwisser (void){
    Init();
    while(1){
    weiß alles besser (/*x*/ 1000)
    }
    }

    ???

    Nee jetzt mal im Ernst, danke für die echt netten und guten Tipps!!!!!
    Geändert von Andreas Bullmann (21.03.2013 um 00:49 Uhr)

  9. #9
    Erfahrener Benutzer Robotik Einstein Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    29
    Beiträge
    4.545
    @markusj
    Die Hex Datei hat er ja. Die befindet sich am Asuro, den man auslesen kann. Nur das umwandeln in einen Quellcode funktioniert nicht.

    MfG Hannes

  10. #10
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2008
    Ort
    Niederlanden
    Beiträge
    1.167
    Naja, wie lange ist dein Freund den mit Ferien? Oder ist das ein Quasi-Emigration? Hat dein freund seine Rechner worauf das Hex steht mit genommen auf Ferien? (Hint: Email anhang) Oder steht es immer noch in seiner Hause?

    Ich vermute das soll nur ein Beispiel von Geduld werden. Oder ein Lern-Periode wo du die Lösung wider von Anfang an Erfinden mag.

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. Antworten: 10
    Letzter Beitrag: 01.11.2017, 13:53
  2. RN-Mega 2560 mit AVR MKII "flashen"
    Von Lurchi im Forum AVR Hardwarethemen
    Antworten: 0
    Letzter Beitrag: 13.02.2010, 16:48
  3. Antworten: 13
    Letzter Beitrag: 27.01.2009, 13:50
  4. AVR Studio "ISP Mode Error" beim Flashen
    Von Edi im Forum C - Programmierung (GCC u.a.)
    Antworten: 4
    Letzter Beitrag: 18.10.2006, 22:53
  5. ASM: was machen "swap" und "cbr" genau?
    Von RHS im Forum AVR Hardwarethemen
    Antworten: 3
    Letzter Beitrag: 18.08.2004, 18:16

Berechtigungen

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