-         

Ergebnis 1 bis 8 von 8

Thema: Problem mit Programmiersprache "C"

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    08.12.2007
    Alter
    28
    Beiträge
    39

    Problem mit Programmiersprache "C"

    Anzeige

    Hallo,
    ich weiß jetzt nicht genau, ob ich das hier in die richtige Kategorie schreibe, aber ich hätte sonst nichts passendes gefunden, außerdem gehts ja eigentlich auch um den Asuro.
    Mein Problem ist, dass ich nicht weiß, wie ich die Dauer eines Vorgangs programmieren soll, z.B. dass sich ein Antriebsmotor für eine bestimmte Zeit bewegt. Mit "Msleep" funktioniert es im Programmers Notepad jedenfalls nicht (ich weiß auch garnicht, ob das überhaupt dafür gedacht ist). Vielen Dank schonmal im Voraus!!
    Viele Grüße

    Tobi

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    02.11.2005
    Alter
    42
    Beiträge
    1.140
    Da gibt es generell 2 Möglichkeiten.
    Zum einen mit der von Dir schon angesprochenen Sleep-Funktion - was funktioniert da denn bei Dir nicht?
    Die Sleep-Funktion hat den Nachteil, das der Controller während des wartens keine anderen Befehle ausführen kann (ausser einen Interrupt)

    Die zweite Möglichkeit wäre, die Zeit über einen Timer zu steuern.
    Ist ein wenig kokmplexer als mit Sleep, aber eigentlich die elegantere Lösung.

    askazo

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    08.12.2007
    Alter
    28
    Beiträge
    39
    Ich hab das mit "Msleep" in der Asuro Libv271 in einem Beispiel gesehen.
    Das mit dem Timer hört sich interessant an. Wo kann ich denn nachlesen, wie man den Timer anwendet? Verwendet jemand "Easy Asuro" ?; ich bekomme das Programm irgendwie nicht auf den PC. Ich kanns zwar downloaden und dann das Setup durchführen, aber danach nicht aufrufen, woran kann das liegen?
    Viele Grüße

    Tobi

  4. #4
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    26.11.2006
    Ort
    Hamburg
    Alter
    25
    Beiträge
    384
    Probier Easy Asuro wieder zu deinstallieren und dann probiers nochmal. Aber ich würde doch lieber versuchen mich etwas mit C zu beschäftigen anstatt Easy Asuro zu benutzen. Man hat einfach viel mehr Möglichkeiten Programme zu schreiben.

    mfg
    Erik

  5. #5
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Jena
    Alter
    31
    Beiträge
    3.913
    mit easyasuro wirst du wenig erfolg haben - es ist in erster linie zum rumspielen gedcht. probiere lieber die arbeit mit C.

    die funktion Msleep() ist nur in der erweiterten library, welche hier im forum entstanden ist, verfügbar und kann mit der library von der cd nicht verwendet werden. bitte nutze die suchfunktion um die lib herunterzuladen und zu installieren.

    programmers notepad ist nur ein editor - genau wie zB notepad. es hat mit der programmierung eigentlich nichts zu tun, nur dass es den quellcode bunt macht für die übersichtlichkeit und dass man die make und make clean befehle in die menüs aufnehmen kann.

    Timer sind (relativ) kompliziert, da sollte man sich in der architektur der AVRs schon besser auskennen und mal mit interrupts gearbeitet haben. ich empfehle dir, das zu testen wenn msleep funktioniert
    kleinschreibung ist cool!

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    08.12.2007
    Alter
    28
    Beiträge
    39
    Danke, ich hab Easy Asuro zum laufen bekommen, aber als ich schon die Anleitung laß, gefiel es mir nicht, da es ungefähr garnichts mit C gemeinsam hat und außerdem kann man kein Programm aufspielen, mit dem Asuro aus dem Zimmer gehen und das Programm irgendwo anders benutzen.
    Ich kann also z.B. mit dem Beispiel "Kollision" aus der libv271 mit dem "make" und "clean" das eigene Programm schreiben und benützen??
    Was ist, wenn ich z.B. ein Programm schreibe, dass dann der Asuro einer Linie folgt?; kann ich dann das gleiche "make" und "clean" aus dem Beispiel "Kollision" nehmen, oder muss ich dann die beiden aus dem Beispiel "line" nehmen?
    (Waren jetzt nur Beispiele, falls ich dann mal irgendwas anderes machen wollte)
    In der Anleitung stand, dass man nie zwei Sachen gleichzeitig ausführen kann; heißt das, dass ich z.B. nie "line" und "kollision" in ein Programm aufnehmen kann, oder dass ich z.B. nie LED´s gleichzeitig schalten kann?
    Sorry dass ich so viel frage...
    Viele Grüße

    Tobi

  7. #7
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Jena
    Alter
    31
    Beiträge
    3.913
    aaalso.

    make ist ein externes programm, dass deinen getippten programmcode in ein format überführt. es funktionirt für jedes von dir getippten programmcode.

    man kann nie zwei dinge EXAKT gleichzeitig durchführen. aber meist reicht es, dinge schnell hintereinander auszuführen. der prozessor schafft 8.000.000 befehle PRO SEKUNDE, so dass zwei nacheinader stehende befehle für menschen nicht mehr unterscheidbar sind.
    kleinschreibung ist cool!

  8. #8
    Benutzer Stammmitglied
    Registriert seit
    08.12.2007
    Alter
    28
    Beiträge
    39
    Stimmt.
    Danke!!
    Viele Grüße

    Tobi

Berechtigungen

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