- LiTime Speicher und Akkus         
Ergebnis 1 bis 5 von 5

Thema: Asuro in Assempler

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1

    Asuro in Assempler

    hallo ich habe folgendes Problem!! Ich soll ein Asuro programmieren und zwar im Assempler!!

    das Thema konnten wir uns selbst aussuchen! Ich dachte eigentlich, das ich mit Linienverfolgung ein leichtes genommen hatte doch nun sehe ich kein Stich mehr!!

    Ich habe schon die Macros für die motorsteuerung programmiert und für die LED und Transistoren!! nun ist das Problem was ich habe, wie frage ich das jetzt an den transistoren ab! ich muss ja den Wert von den Transistoren umwandeln in zahlen, welche ich dann beutze um die Motoren zu steuern!! und ich habe keine ahnung wie das geht kann mir da bitte jemand helfen

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    15.02.2008
    Ort
    Bremen
    Alter
    44
    Beiträge
    119
    Schau dir doch den C-Code der ASURO Library an, daraus lässt sich doch ganz gut ableiten, wie der entsprechende Assembler-Code aussehen müsste.

    Bspw. der linke Liniensensor wird per ReadADC(IR_LEFT,0) abgefragt. ReadADC sieht so aus:
    Code:
    unsigned int ReadADC(unsigned int mux, unsigned int sleep)
    {  
      if ((mux) == (BATTERIE))
        ADMUX = (1 << REFS0) | (1 << REFS1) | (mux); // interne 2.56V Referenz
      else
        ADMUX = (1 << REFS0) | (mux);           // Referenz mit externer Kapazitaet
      if (sleep)
        Sleep(sleep);
    
      ADCSRA |= (1 << ADSC);                // Starte AD-Wandlung
      while (!(ADCSRA & (1 << ADIF)))       // Ende der AD-Wandlung abwarten
        ;
      ADCSRA |= (1 << ADIF);                // AD-Interupt-Flag zuruecksetzen
      return ADC;                           // Ergebnis als 16-Bit-Wert
    }
    Die SFRs, die da gesetzt und gelesen werden übernimmst du in Assembler - et voila!

  3. #3
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    61
    Beiträge
    5.799
    Blog-Einträge
    8
    Hallo

    Prinzipiell würde ich auch die Funktionen aus der Library als Vorlage verwenden und in Assembler übertragen. Dazu sollte man aber etwas C können. Ganz Faule könnten nach dem Kompilieren eines C-Beispiels die .LST-Datei analysieren...

    Die Werte der Sensoren schwanken durch Bauteilestreuungen und Fremdlicht. Um die Werte auszugeben müßte man den UART initialisieren und einen PrintInt()-Ersatz in Assembler programmieren. Oder man schaut sich die Werte mit einem C-Programm an und überträgt sie in die Assemblerroutinen.

    Gruß

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

  4. #4
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Milda
    Alter
    37
    Beiträge
    4.062
    Der erste schritt ist, zu wissen dass es "Assembler" und nicht "Assempler" heisst

    HAst du überhaupt schonmal mit Assembler gearbeitet? verstehst du den c-code der library soweit, dass du ihn umsetzen könntest?
    Read... or die.
    ff.mud.de:7600
    Bild hier  

  5. #5
    also ich kann bisel damit umgehen!! weiss wie ich die Motoren und LED und alles anspreche

Berechtigungen

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

LiTime Speicher und Akkus