-         

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

Thema: erste versuche mit dem asuro

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    23.09.2006
    Ort
    Bielefeld/Osnabrück
    Alter
    33
    Beiträge
    53

    erste versuche mit dem asuro

    Anzeige

    hallo,
    ich habe mir einen asuro bestellt um mal mit der C programiierung anzufangen.
    Nun tuen sich mir ein paar Fragen auf:

    Aus der SPS Technik kenne ich es so das ich der CPU vorher die variablen erklären muss (e0.1 = start oder sowas in der art)
    woher weiss der asuro wo die motoren angeschlossen sind oder eben auch die led? (habe zumindest nichts gefunden das ich da irgendwo was eintippen muss)

    habe versucht mich an der anleitung durchzuhangeln und der selbsttest usw scheint auch zu klappen.
    danach habe ich das programm
    #include “asuro.h”
    int main(void) {
    Init();
    StatusLED(YELLOW);
    while(1); // Endlosschleife
    return 0;
    }
    eingegeben wo die statusled rot leuchten sollte
    tut sie aber nicht

    übersetzen klappt fehlerfrei und übertragen auch.

    ich hoffe mir kann da jemand helfen


    danke im voraus
    stefan
    Haftungsausschluß:


    Bei obigem Beitrag handelt es sich um meine private Meinung.

    Rechtsansprüche dürfen aus deren Anwendung nicht abgeleitet werden.

  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

    Ich kann nicht glauben, dass du dieses Beispielprogramm fehlerfrei übersetzen kannst:

    #include asuro.h

    Das ist ein Fehler in der Anleitung, die Gänsefüsschen müssen die Anführungszeichen auf der 2er-Taste sein!

    übersetzen klappt fehlerfrei und übertragen auch.
    Stellt sich natürlich die Frage, WAS wurde fehlerfrei übersetzt und übertragen? Erste Idee: Speichern vergessen vor dem Kompilieren. Dann wird ein "leeres" Programm erzeugt und übertragen. Die rote StatusLED deutet darauf hin, dass kein Init() ausgeführt wird, denn nach Init() sollte die StatusLED zumindest grün leuchten. Wenn das Programm richtig ausgeführt werden sollte, müsste die StatusLED ja eigentlich gelb (=YELLOW) leuchten.

    woher weiss der asuro wo die motoren angeschlossen sind oder eben auch die led?
    Schau dir mal die Dateien asuro.h und asuro.c an. Diese beiden Dateien (und noch ein paar andere Libraries) werden durch den Befehl #include "asuro.h" in dein Programm eingebunden.

    Gruß

    mic
    Geändert von radbruch (22.09.2011 um 17:35 Uhr)

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

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    23.09.2006
    Ort
    Bielefeld/Osnabrück
    Alter
    33
    Beiträge
    53
    achso ok gespeichert habe ich nicht das erklärt einiges danke
    Haftungsausschluß:


    Bei obigem Beitrag handelt es sich um meine private Meinung.

    Rechtsansprüche dürfen aus deren Anwendung nicht abgeleitet werden.

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2008
    Ort
    Niederlanden
    Beiträge
    1.167
    Statt die geposteten Code sollte es Gelb Leuchten. ( StatusLED(YELLOW); ) Nun, dan Funktioniert es (vielleicht ... weil du nicht sagst wie es leuchtet).

    Mit:

    #include "asuro.h"

    wird diese asuro.h Datei eingeladen das verschiedene Konstanten und Variablen Deklariert. Genau was du wissen möchtest. Zusätzlich wird in dem makefile (Datei: makefile. ) zu dem Compiler gesagt es soll auch den Datei asuro.c mit compilieren. Diese Datei enthält den Code für den verschiedene Asuro-spezifische Befehlen. Diese Dateien (gesammt die originale Lib/Code-Bibliothek genannt) sollen in dem Mappe stehen, gleich neben dein eigene bearbeite Programm.

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    23.09.2006
    Ort
    Bielefeld/Osnabrück
    Alter
    33
    Beiträge
    53
    denke erstmal an alle für die hilfe....
    ich bin mitlerweile soweit das ich wenn ich den asuro nur einschalte mit diversen programmen die farbe der status led ändern kann *juhu*

    nächster schritt wäre dann ja wenn der kollisionsschalter kommt die farbe zu ändern aber das hau schon wieder nicht hin

    mein programm schaut so aus:

    #include "asuro.h"


    int main(void) {
    Init ()
    while (1) {
    if (PollSwitch()>0) {StatusLED (RED);}
    else {StatusLED (GREEN);}
    }
    }
    ich bekomme beim kompilieren aber folgende meldung:

    avr-gcc -c -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=test.lst test.c -o test.o
    test.c: In function `main':
    test.c:6: error: parse error before "while"
    make: *** [test.o] Error 1

    > Process Exit Code: 2
    was habe ich nu wieder falsch gemacht?


    da tippe ich mal auf einen syntaxfehler
    kann ich mir irgendwie anzeigen lassen wo was fehlt bzw. wo genau der fehler liegt?
    Haftungsausschluß:


    Bei obigem Beitrag handelt es sich um meine private Meinung.

    Rechtsansprüche dürfen aus deren Anwendung nicht abgeleitet werden.

  6. #6
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    54
    Beiträge
    5.781
    Blog-Einträge
    8
    Init ();

    Aller Anfang ist schwer ;)

    Verwende mal den Code-Tag:

    Code:
    #include "asuro.h"
    
    int main(void)
    {
    	Init ();
    	while (1)
    	{
    		if (PollSwitch()>0)
    		{
    			StatusLED (RED);
    		}
    		else
    		{
    			StatusLED (GREEN);
    		}
    	}
    	return(0);
    }
    Gruß

    mic

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

  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2008
    Ort
    Niederlanden
    Beiträge
    1.167
    Code:
    ...
    Init ()
     while (1) {
    parse error before "while"
    Das sagt es schon. Etwas stimmt nicht vorne von "while". Hint: was gehört hinter jeder Befehl/Funktionsanruf? Antwort: ein Punkt-Komma.

  8. #8
    Benutzer Stammmitglied
    Registriert seit
    23.09.2006
    Ort
    Bielefeld/Osnabrück
    Alter
    33
    Beiträge
    53
    wegen diesem mini ; spackt alles rum? ich sollte bei normalen sps steuerungen bleiben da weiss ich was die mir sagen wollen
    Haftungsausschluß:


    Bei obigem Beitrag handelt es sich um meine private Meinung.

    Rechtsansprüche dürfen aus deren Anwendung nicht abgeleitet werden.

  9. #9
    Benutzer Stammmitglied
    Registriert seit
    23.09.2006
    Ort
    Bielefeld/Osnabrück
    Alter
    33
    Beiträge
    53
    so danke erstmal für die tolle hilfe
    habe nu ein programm wo die motoren rennen

    #include "asuro.h"

    int main(void)
    {
    Init ();
    while (1)
    {
    if (PollSwitch()>0)
    {
    StatusLED (RED);
    MotorDir(RWD,RWD);
    MotorSpeed(80,160);
    Sleep(3000);
    FrontLED(OFF);
    BackLED(ON,ON);
    }
    else
    {
    StatusLED (GREEN);
    MotorDir(FWD,FWD);
    MotorSpeed(100,100);
    FrontLED(ON);
    BackLED(OFF,OFF);
    }
    }
    return(0);
    }
    ist auch alles wunderbar bis die endschalter kommen dann fährt er nur kurz rückwärts......
    gibt es einen befehl mit dem ich eine anweisung zeitlich begrenzen kann und dann wieder einen schritt zurückspringen kann? (dasmit dem sleep tut mal garnix, und ist das einzige was ich bei google gefunden habe)

    also nachdem der endschalter betätigt wurde 3 sekunden rückwärts mit drehung und dann wieder vollgas?

    und wieso blinken meine backleds? ist das nen wackelkontakt von meinen pollschaltern oder wo kommt dat wieder her?
    Geändert von Nordwind (23.09.2011 um 01:51 Uhr)
    Haftungsausschluß:


    Bei obigem Beitrag handelt es sich um meine private Meinung.

    Rechtsansprüche dürfen aus deren Anwendung nicht abgeleitet werden.

  10. #10
    Neuer Benutzer Öfters hier
    Registriert seit
    13.07.2011
    Beiträge
    20
    Hallo,
    Um mit dem ASURO richtig umgehen zu können solltest du mal das C-Tutotial durcharbeiten, um zu wissen was man mit C und mit Mikrokontrollern überhaupt so machen kann.
    http://www.mikrocontroller.net/artic...R-GCC-Tutorial
    (nur meine Meinung)

    gruß aus Hamburg

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. erste Versuche mit Timer
    Von MSP430start im Forum C - Programmierung (GCC u.a.)
    Antworten: 6
    Letzter Beitrag: 01.07.2009, 14:31
  2. Asuro vs. Handy: Erste Eindrücke
    Von trapperjohn im Forum Asuro
    Antworten: 48
    Letzter Beitrag: 18.11.2008, 10:22
  3. Versuche Servo zu verstehen.
    Von mcnanuk im Forum C - Programmierung (GCC u.a.)
    Antworten: 7
    Letzter Beitrag: 23.10.2007, 17:15
  4. RS232 versuche
    Von HelgeG im Forum PC-, Pocket PC, Tablet PC, Smartphone oder Notebook
    Antworten: 7
    Letzter Beitrag: 22.02.2007, 22:21
  5. Einsteiger Versuche mit C-Control ?
    Von Natron im Forum Controller- und Roboterboards von Conrad.de
    Antworten: 16
    Letzter Beitrag: 02.11.2004, 20:21

Berechtigungen

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