-
        

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

Thema: Fragen zur erweiterten Asuro-Lib

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    30.12.2006
    Beiträge
    19

    Fragen zur erweiterten Asuro-Lib

    Anzeige

    Hab mich schon ne Weile mit Asuro und der erweiterten Bibliothek beschäftigt. Also ich bin von neuen Funktionen echt überrascht, die funktionieren richtig gut. Ein Lob an alle, die daran mitgemacht haben!

    Aber ich hab da noch ein paar Fragen zu den Funktionen:

    Go-Funktion in der asuro.c
    Code:
    00491       enc_count=distance*10000;
    00492       enc_count/=12823;
    Diese zwei Zeilen sind auskommentiert, warum? Kann man mit diesen Zeilen eine Umrechnung auf Meter durchführen oder welche Funktion haben/hatten die Zeilen?

    Go und Turn:
    Code:
    00513         Msleep(1);
    Wäre es nicht besser direkt Sleep(36) aufzurufen? Denn so muss erst Msleep aufgerufen werden, dann ne Schleife durchlaufen werden, wo dann erst Sleep ausgeführt wird.

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    27.12.2006
    Ort
    Minneapolis
    Beiträge
    30

    LIB 2.61 Fehler

    Moin,

    ich wuerde auch gerne diese neuen Funktionen nutzen. Ich kriege jedoch folgende Compiler Fehlermeldungen, wenn ich asuro.c und asuro.h von der 2.61 LIB verwende:
    C195 asuor.c warning: return type defaults to "int"
    C195 asuor.c warning: function declaration isn't a prototype
    C195 asuro.c error: redifinition of 'SIGNAL'
    C184 asuro.c error: 'SIGNAL' previously defined here
    C212 asuor.c warning: return type defaults to "int"
    C212 asuor.c warning: function declaration isn't a prototype
    C212 asuro.c error: redifinition of 'SIGNAL'
    C195 asuro.c error: 'SIGNAL' previously defined here

    Any ideas?

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    01.11.2006
    Beiträge
    433
    yes there are any ideas.
    the searching machine of our forum.
    ...

  4. #4
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Jena
    Alter
    31
    Beiträge
    3.913
    offensichtlich hast du mit den interrupts rumgespielt. suchen hilft =)

    in der erweiteren lib ist SIGNAL(INTERRUPT0[oder 1?]) schon definiert. in der asuro.c darf es deshalb nicht nochmal drin sein. du kannst nur in der lib die definitieon auskommentieren.
    kleinschreibung ist cool!

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    30.12.2006
    Beiträge
    19

    Re: Fragen zur erweiterten Asuro-Lib

    Zitat Zitat von Stallion
    Go-Funktion in der asuro.c
    Code:
    00491       enc_count=distance*10000;
    00492       enc_count/=12823;
    Diese zwei Zeilen sind auskommentiert, warum? Kann man mit diesen Zeilen eine Umrechnung auf Meter durchführen oder welche Funktion haben/hatten die Zeilen?
    Dann antworte ich mir halt selber. Aus den Untiefen des Forum hab ich herausgefunden:
    Diese zwei Zeilen haben früher dafür gesorgt, dass man die Entfernung, die abgefahren werden soll, in Millimetern angeben konnte. Aufgrund von Modifikationen in der Funktion und Ungenauigkeiten, wurden die Zeilen einfach auskommentiert.

  6. #6
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Jena
    Alter
    31
    Beiträge
    3.913
    Wunderbar, er hat die suchfunktion gefunden...
    =)

    aber danke nochmal für die erläuterung xD
    kleinschreibung ist cool!

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    30.12.2006
    Beiträge
    19
    Jetzt aber mal ne Frage, wo mir keine Suche weiterhilft (bzw. ich weiß nicht, wonach ich da suchen müsste):
    Code:
    enc_count=abs(degree)*0166L; 
    enc_count /= 0360L;
    Was macht das große L hinter den Zahlen?

  8. #8
    Benutzer Stammmitglied
    Registriert seit
    29.12.2006
    Ort
    Bayern
    Alter
    62
    Beiträge
    41
    Das L bedeutet , dass der Compiler die Zahl als "Long"integerzahl behandeln soll.
    Eine Longinteger deckt einen größeren Wertebereich als z.B. eine normale Integerzahl ab.

    Grüße, Hans

  9. #9
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Alter
    48
    Beiträge
    2.731
    Hallo,

    das hat weniger mit Asuro zu tun, als mit der Sprache C selber,

    da die Zahlen hier als Konstanten auftreten, sollte man den Datentyp angeben wenn damit gerechnet wird, damit am Ende ein bestimmter Datentyp als Ergebnis rauskommt.
    Das L oder auch l steht für long, man könnte da auch noch ein U für unsigned dazumachen falls mans braucht.

  10. #10
    Erfahrener Benutzer Roboter Genie Avatar von m.a.r.v.i.n
    Registriert seit
    24.07.2005
    Ort
    Berlin
    Beiträge
    1.247
    Hi,

    Das L hinter einer Zahl bedeutet, dass der Compiler die Zahl als Long interpretieren soll (32bit beim AVR).
    Wenn ich mich nicht irre, bedeutet eine führende Null vor einer Zahl, diese als Oktal-Zahl zu interpetieren. Das ist sicher nicht so gedacht, oder?

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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