-
        

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

Thema: Problem beim Programmieren von ASURO

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    06.03.2006
    Ort
    Forst^^
    Beiträge
    9

    Problem beim Programmieren von ASURO

    Anzeige

    HiHi Miteinander !!!

    Ich hab mir vor 2 Tagen einen Asuro gekauft !!! Hab ihn dann gleich auch fleißig zusammengebastelt !!! War kein Problem !! Hab jetzt dann auch gleich versucht n kleines Programm zu schrieben : Als erstes hab ich mal die veränderte asuro.c und asuro.h in den Ordner des Testfiles kopiert (C:\Asuro\ASURO_src\FirstTry). Hab dann des alte Testfile umgeschrieben um des maketool verwenden zu können und habs übersetzt . Dabei kam keine fehlermeldung. Ich hab dann die test.hex auf den asuro geflasht und nix isch passiert !! woran kann des liegen ?? ich find einfach keinen Fehler!! Hier auch noch mein Prog.:

    #include "asuro.h"

    #define FULL_L 250 /* Fullspeed linker Motor */
    #define FULL_R 220 /* Fullspeed rechter Motor */


    void MotorFwd(void)
    {
    MotorDir(FWD,FWD);
    MotorSpeed(FULL_L,FULL_R);
    }

    void MotorRwd(void)
    {
    MotorDir(RWD,RWD);
    MotorSpeed(FULL_L,FULL_R);
    }

    void MotorRwdL(void)
    {
    MotorDir(RWD,RWD);
    MotorSpeed(FULL_L,0);
    }

    void MotorRwdR(void)
    {
    MotorDir(RWD,RWD);
    MotorSpeed(0, FULL_R);
    }

    void MotorStop(void)
    {
    MotorSpeed(0,0);
    }

    int main(void)
    {
    unsigned char t1, t2;

    Init();
    while(1)
    {
    t1 = PollSwitch();
    t2 = PollSwitch();
    if(t1 == 0 && t2 == 0)
    {
    MotorFwd();
    FrontLED(ON);
    BackLED(OFF,OFF);
    }
    else if (t1 && t2 && t1 == t2)
    {
    MotorStop();
    if(t1 & 0x07) /
    {
    MotorRwdL();
    FrontLED(OFF);
    BackLED(ON,OFF);
    }
    if (t1 & 0x3
    {
    MotorRwdR();
    FrontLED(OFF);
    BackLED(OFF,ON);
    }
    Msleep(1000);
    }
    }
    return 0;
    }

    An alle schon mal n fettes Dankeschön für Beiträge und Ratschläge !!

  2. #2
    Neuer Benutzer Öfters hier
    Registriert seit
    06.03.2006
    Ort
    Forst^^
    Beiträge
    9
    Gibt es hier niemanden ,der C kann ??? wäre echt hilfreich ,wenn ich zumindest wüsste ,obs am prog liegt !!! Oder wenn mir jemand sagen könnte ,wie ich die asuro.c oder asuro.h richtig durch die ergänzten asuro .h und asuro.c von waste ,.. ersetzen kann !!!!
    Vielen vielen dank für Beiträge ^^

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    04.04.2005
    Ort
    Hamburg
    Alter
    29
    Beiträge
    826
    Moin

    Also,
    1. bitte benutz die [ code ] [/ code ] Tags, wenn du hier Quelltext postet, damit man das auch ordentlich lesen kannst. Du findest passende Buttons im Antworten Editor.
    2. Also das Programm siehr auf den 1. Blick zwar etwas voll gestopft aus, aber sollte so laufen ... denke ich ... Hier mal ein paar Dinge die man beachten sollte:
    a) Wirklich auf speichern klicken, bevor man kompiliert. Das kommt nciht automatisch.
    b) Ich bau immer an den Anfang des Programmes die StatusLED() ein, damit ich ne Meldung kriege, dass überhaupt was geschieht.
    3. Bei diesen vielen if Klammern oben, habe ich leider nciht ganz den Überblick behalten, deswegen nur mal generelles: Die PollSwitch() Funktion liefert oft erst nach dem 3. aufruf oder so sinnvolle Werte. Du speicherst zwar 2mal die Werte ab, aber was das so ganz genau bezwecken soll ist mir nciht komplett klar. Irgendwie ist dein Code da sehr schwammig.
    Außerdem hast du außer der Msleep(1000) keine Reaktion drinne, die gemacht werden soll, wenn keine Taste gedrückt wird.
    4. Was ist das für ein / da?:
    >> if(t1 & 0x07) / <<
    5. Wenn dir nach 2 Stunden noch keiner geholfen hat, ist das noch kein Grund einen kleinen Aufstand zu machen, in diesem Forum wird ja keiner dafür bezahlt rund um die Uhr und am Wochenende alles zu wissen ....



    Andun
    www.subms.de
    Aktuell: Flaschcraft Funkboard - Informationssammlung

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    06.03.2006
    Ort
    Forst^^
    Beiträge
    9
    Danke für deine Antwort ^^

    Sorry ,aber sollte net so klingen ,wie wenn ich n aufstand machen wollte ^^
    Mich hat des nur voll angenervt ,dass nix gefunzt hat ^^

    sorry nochmal Andun

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    45
    Beiträge
    2.236
    Gibt es hier niemanden ,der C kann ???
    Was hälst Du davon wenn Du Dir selber hilfst?
    Das Zauberwort heißt Debugen, und ich persönlich mache das so:

    Code:
    #define DEBUG 1
    und an ein Paar Stellen im Programm, wo es hängen könnte füge ich folgende Zeilen ein:
    Code:
    #if DEBUG
    LEDPORT ^=(1<<LED1);
    #endif /*DEBUG*/
    LEDPORT und LED1 müssen natürlich auch entsprechend definiert werden...
    Und da Du am Asuro genug LED's hast dürftest Du wohl ziemlich schnell
    rausfinden, wo es kracht.
    Wenn Du dann den Fehler gefunden hast kannst Du DEBUG auf 0 setzen, womit Du Dir die Blinkerei dann wieder abschaltest...
    Man kann sich auch werte über UART anzeigen lassen und und und.

    Gruß Sebastian

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    02.11.2005
    Ort
    Dortmund
    Alter
    24
    Beiträge
    1.641
    Hmm... kenn die erweiterte Lib nicht, aber du sagst #define blabla.
    WIE definierst du das denn? Wenn ich in Mathe sage ich definiere jetzt die Strecke AB hast du nur gesagt dass du sie definierst und nicht wie.
    (Nur Theorie, muss nich stimmen... )
    Und ich glaube du musst asuro.c einbinden und nich asuro.h.
    Sonst haste ja die ganzen tollen Funktionen wie Motorspeed gar net.
    o
    L_
    OL
    This is Schäuble. Copy Schäuble into your signature to help him on his way to Überwachungsstaat!

    http://de.youtube.com/watch?v=qV1cZ6jUeGE

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    45
    Beiträge
    2.236
    Und ich glaube du musst asuro.c einbinden und nich asuro.h.
    Es gibt da so ein Spruch wie, wenn man keine Ahnung hat... aber ich lass es lieber,
    Lunarman besorg Dir ein C Buch, Tutorial, und lerne erstmal die Grundlagen, bevor Du anfängst irgendwelche *.c Dateien einzubinden

  8. #8
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    02.11.2005
    Ort
    Dortmund
    Alter
    24
    Beiträge
    1.641
    hab grad bei mir geguckt - izaseba hat Recht...
    War ja nur aus dem Gedächtnis... heul... *alleärgernmichsag*
    o
    L_
    OL
    This is Schäuble. Copy Schäuble into your signature to help him on his way to Überwachungsstaat!

    http://de.youtube.com/watch?v=qV1cZ6jUeGE

  9. #9
    Benutzer Stammmitglied
    Registriert seit
    31.07.2005
    Ort
    Ehningen
    Alter
    43
    Beiträge
    35
    Hei HaHa-Freak,

    prüfe mal als erstes, welche Files du da übersetzt hast. Spätestens bei der Zeile
    "if(t1 & 0x07) /"
    muss sich der Compiler beschweren. Hat er aber nach deiner Beschreibung nicht getan.
    Dann noch wie izaseba vorschlägt: Schritt für Schritt kleine debug-Features einbauen. Dann siehst du wenigstens, wie weit dein Code kommt, ehe er "hängt" (oder so aussieht).

    Alaaf, Rakke

  10. #10
    Neuer Benutzer Öfters hier
    Registriert seit
    06.03.2006
    Ort
    Forst^^
    Beiträge
    9
    Vielen Dank für alle eure Antworten !!!
    Ich werde mir den Trick mit den debug-Features merken !!! Echt hilfreich !!!
    Aber ich glaube mein Prob. lag an meinem Compiler !! Hab mir die neuste Version von Programmers Notepad geholt und das make-tool neu eingerichtet und siehe da ,es hat geklappt ^^ !!

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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