- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 10 von 12

Thema: "Negatives Flashen"

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    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 18:09 Uhr)

  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

    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
    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
    Erfahrener Benutzer Robotik Visionär Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    37
    Beiträge
    5.093
    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

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    20.08.2008
    Ort
    Karlsruhe
    Alter
    37
    Beiträge
    1.225
    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

  5. #5
    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

  6. #6
    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 (20.03.2013 um 23:49 Uhr)

  7. #7
    Erfahrener Benutzer Robotik Visionär Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    37
    Beiträge
    5.093
    @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

Ähnliche Themen

  1. Antworten: 10
    Letzter Beitrag: 01.11.2017, 12:53
  2. RN-Mega 2560 mit AVR MKII "flashen"
    Von Lurchi im Forum AVR Hardwarethemen
    Antworten: 0
    Letzter Beitrag: 13.02.2010, 15:48
  3. Antworten: 13
    Letzter Beitrag: 27.01.2009, 12: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, 21:53
  5. ASM: was machen "swap" und "cbr" genau?
    Von RHS im Forum AVR Hardwarethemen
    Antworten: 3
    Letzter Beitrag: 18.08.2004, 17:16

Berechtigungen

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

LiFePO4 Speicher Test