-         

Ergebnis 1 bis 3 von 3

Thema: Sleep-Funktion bei ASURO

  1. #1

    Sleep-Funktion bei ASURO

    Anzeige

    Hallo,

    ich habe heute meinen ASURO zusammengebaut und mir ein Programm zum Testen der Linienverfolgung runtergeladen. Dieses Programm funktioniert nicht so, wie es sollte. Sobald die Funktion Sleep aufgerufen wird, hält das Programm an. Ohne Sleep arbeitet das Programm einwandfrei.

    Wo liegt der Fehler?

    #include "asuro.h"
    #include "stdlib.h"

    int main (void)
    {
    int t;

    unsigned int data[2];
    unsigned char links[7];
    unsigned char rechts[7];
    SerWrite ("Hello World\n\r", 13);

    for (t=0;t<25;t++)
    {
    StatusLED (RED);
    LineData (data);

    itoa (data[0], links, 10);
    itoa (data[1], rechts, 10);

    SerWrite (links, 6);
    SerWrite ("\n\r", 2);
    SerWrite (rechts, 6);
    SerWrite ("\n\n\r", 3);
    Sleep(216);
    StatusLED (GREEN);
    }
    StatusLED (GREEN);

    return 0;
    }

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

    Glückwunsch zum asuro und willkommen im RN-Forum.

    Dass bei deinem Programm überhaupt etwas funktioniert ist echt erstaunlich. Es fehlt das Init(). Deshalb wird wohl der Timer für Sleep() nicht initialisiert. (Die serielle Schnittstelle wird schon im Bootloader initialisiert und funktioniert deshalb trotzdem)

    Außerdem sollte ein Programm für einen AVR (wie der Mega8 des asuro) nie beendet werden, d.h. main() sollte mit einer Endlosschleife enden, das letzte "return 0" sollte nie erreicht werden:

    while(1);
    return 0;

    Da es über main() keine übergeordnete Funktion gib, springt der AVR beim letzten return irgendwo ins Nirwana. Laut Datenblatt könnte dabei (wohl eher theoretisch) im AVR ein Wert verändert werden der einen Weiterbetrieb des AVRs unmöglich macht.

    btw: Es gibt hier im RN-Forum einen extra Bereich für den asuro:

    http://www.roboternetz.de/phpBB2/viewforum.php?f=44

    Gruß

    mic

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

  3. #3
    Danke, Danke, Danke!

    Es läuft jetzt. Dann kann es ja jetzt mit dem lustigen Teil losgehen

    Ein gutes Forum, in dem man schnelle und gute Hiilfe bekommt!

    Gruß

    Stephan

Berechtigungen

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