- 12V Akku mit 280 Ah bauen         
Ergebnis 1 bis 10 von 28

Thema: [Wichtig]Was ist falsch?

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    05.02.2012
    Beiträge
    13
    Muss ich für delay.h ihrgend eine Dati runterladen oder einfach nur einfugen: #include "delay.h" und dann wo ichs brauch
    "void _delay_ms(double ms)"

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied Avatar von masasibe
    Registriert seit
    21.01.2011
    Beiträge
    181
    Das solle eigentlich auch ohne etwas herunterzuladen mit dem Befehl: #include <avr/delay.h> gehen,
    aber probiere es doch einfach aus und schau, ob der Compiler
    eine Fehlermeldung ausspuckt!

    Das kannst du dir übrigens auch noch durchlesen:
    http://www.rn-wissen.de/index.php/Warteschleife
    Da geht es um Warteschleifen und wann sie vom Compiler wegoptimiert wird.
    Ganz unten steht auch etwas über die delay.h

    mfg masasibe

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    05.02.2012
    Beiträge
    13
    So ich hab mal des mit der delay.h und so probiert und der Compiler hat mir dann ein Error rausgegeben:

    Programm:
    #include "asuro.h"
    #include <avr/delay.h>
    int main(void){
    Init();
    while(1)
    MotorSpeed(112,100);
    MotorDir(FWD,FWD);
    StatusLED(GREEN);
    while (PollSwitch()==0)
    {
    _delay_ms(200);
    MotorSpeed(112,0);
    MotorDir(FWD,FWD);
    StatusLED(YELLOW);
    FrontLED(ON);
    if (PollSwitch()>0){
    _delay_ms(200);
    MotorDir(RWD,RWD);
    MotorSpeed(112,100);
    StatusLED(RED);
    BackLED(ON,ON);
    FrontLED(ON);}
    else
    _delay_ms(200);
    MotorDir(FWD,FWD);
    MotorSpeed(112,0);
    StatusLED(YELLOW);
    FrontLED(ON);}
    }


    /edit: ok habs problem gelöst.
    Könnte jeman trotzdem noch drüber schauen

    /edit: mhmm er macht nur das was in dem Ersten befehl steht
    Geändert von NicMaxFen (07.02.2012 um 19:25 Uhr)

  4. #4
    Erfahrener Benutzer Roboter Experte Avatar von ePyx
    Registriert seit
    14.05.2008
    Ort
    Falkensee
    Beiträge
    700
    Probier mal #include <util/delay.h> dann wirds was. Btw. benutz mal die Code-Tags.

    Außerdem fehlen noch geschweifte Klammern bei den if/else-Blöcken.

    Bin in dem Ganzen noch unerfahren!
    Dann solltest du, wenn du es ernst meinst, dir die Tutorials anschauen.
    Grüße,
    Daniel

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    05.02.2012
    Beiträge
    13
    So ich hab jetzt noch mal ein einfaches Geschrieben. aber er fängt immer schon im Glauen Bereic an:

    #include "asuro.h"
    int main(void){
    Init();
    MotorSpeed(112,100);
    MotorDir(FWD,FWD);
    StatusLED(GREEN);
    if (PollSwitch()>0){
    MotorSpeed(112,100);
    MotorDir(RWD,FWD);
    BackLED(ON,ON);
    FrontLED(ON);
    StatusLED(RED);}
    else {
    MotorSpeed(100,0);
    MotorDir(RWD,BREAK);
    StatusLED(YELLOW);}

    Sleep (255);
    if (PollSwitch()>0){
    MotorSpeed(112,100);
    MotorDir(RWD,RWD);
    StatusLED(RED);
    BackLED(ON,ON);}
    }

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2008
    Ort
    Niederlanden
    Beiträge
    1.170
    Nein, er fangt dort nicht an... das ist das Letzte was er macht. Jedenfalls, was du beobachten kann. Danach wartet er 255/72000 von einer Sekunde. Weil er vermutlich nicht gleich irgendwo anstoßt wird er die letzte Befehlen auch nicht machen. Was danach passiert ist unbekannt. Weil das Programm zu ende ist, aber die Mikrocontroller wird immer weiter seine Gehirn weiter durcharbeiten, eben wann das keine Code ist. Du sollst wirklich am ende eine Endlos-schleife einbauen, damit er keine Unsinn macht. Aber die Richtige Lösung ist das deine Code in ein Endlos-schleife gebunden ist. Weil er nun nur 2 mal die PollSwitch Test macht. Er soll das jedes Mal machen.
    Geändert von Valen (07.02.2012 um 20:54 Uhr)

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    05.02.2012
    Beiträge
    13
    ok danke wie/wo soll ich dan teoretisch den Sleep einbauen damit der alles macht?

Ähnliche Themen

  1. Antworten: 5
    Letzter Beitrag: 07.08.2008, 16:38
  2. Zeitschaltuhr ( Wichtig )
    Von Enten Züchte im Forum Elektronik
    Antworten: 9
    Letzter Beitrag: 23.06.2008, 16:44
  3. WICHTIG!! Problem mit AVR-GCC
    Von Nigthlord im Forum C - Programmierung (GCC u.a.)
    Antworten: 5
    Letzter Beitrag: 28.10.2007, 20:36
  4. Spannungsregler wichtig!
    Von csommi im Forum Elektronik
    Antworten: 4
    Letzter Beitrag: 10.03.2006, 13:07
  5. Teamspek für RN WICHTIG!!!!!
    Von dundee12 im Forum Offtopic und Community Tratsch
    Antworten: 7
    Letzter Beitrag: 27.09.2005, 22:50

Stichworte

Berechtigungen

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

Solar Speicher und Akkus Tests