- Labornetzteil AliExpress         
Seite 22 von 53 ErsteErste ... 12202122232432 ... LetzteLetzte
Ergebnis 211 bis 220 von 524

Thema: Tutorial für alle Assembler-Anfänger _

  1. #211
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    01.11.2003
    Ort
    Freiburg im Breisgau
    Alter
    35
    Beiträge
    2.624
    Anzeige

    LiFePo4 Akku selber bauen - Video
    Moin, moin!
    Schade, dass Sebastian heute arbeiten muss! *schluchts*
    Ich weiß leider nicht, wie viel Zeit ich heute habe bzw. wie lange ich an den PC kann, 5 Wochen habe ich nämlich noch meine Schwester als Anwärterin auf den PC! ;o)
    Naja, ich werde versuchen das Ganze einzurichten!

    @Florian: Das mit den Kommentaren mach ich ja, also einrücken und alle Kommentare in der gleichen Spalte. Sieht man nur hier im Forum nicht, aber im AVR Studio isses wunderbar.
    Ok, den Code könnt man noch mehr einrücken, wenn man Blöcke hat, die zusammengehören.
    Achso, nagut, ich gebe mich geschlagen! ;o)
    Ich muss zugeben, dass ich noch nicht so oft Code gepostet habe! *lol*

    Ich habe nur mit Dieser Seite und mit Dattenblättern gelernt.
    Ich habe angefangen mit www.mikrocontroller.net, danach habe ich mit www.avr-asm-tutorial.net weiter gemacht und zum Schluss habe ich noch die Tutorials von Gerhard Paulus durchgearbeitet.

    Warum Florian soviel Wert drauf legt wirst Du Morgen erfahren.
    Ich muß Morgen leider arbeiten womit ich mir das Spielchen leider nicht
    angucken kann, aber ich hoffe der Florian hat mehr Zeit und stellt Dir das vor.
    Ich werde versuchen es zeitlich einzurichten!

    Bis dahin kannst Du dich im Tutorial über Zahlen jenseits der 255 marke , den Befehl lpm und die Zeigerregister informieren, glaube mir, es ist wirklich einfach beschrieben.
    Und vor allem auch die Datenspeicher-Direktiven DW. und DB. und wo die Unterschiede liegen!
    Ich persönlich liebe DB. und lpm, es sind meine Lieblingsthemen! ;o)

    Ich freue mich wirklich , daß wir das heute mit der Sirene hinbekommen haben.
    Ich freue mich auch, aber ich bin auch gespannt, wie lange wir für das nächste Kapitel brauchen werden!?

  2. #212
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    01.11.2003
    Ort
    Freiburg im Breisgau
    Alter
    35
    Beiträge
    2.624
    So, seit ihr beiden, Thomas und Tekeli, da? ;o)
    Dann kann es ja theoretisch los gehen mit der Aufgabe! *freu*

  3. #213
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    29.07.2005
    Ort
    Berlin
    Alter
    39
    Beiträge
    289
    Ist kein Problem wegen der Zeit. Einfach schreiben, wenn man Zeit hat Hab mir gestern schon das mit den Zahlen durchgelesen und ich glaub, dass ich mir schon irgendwie vorstellen kann, wie man sie verbindet.
    Bin gespannt, was sonst noch auf mich zukommt *g*

    Muss jetzt eh erstmal einkaufen gehen, schau aber gleich wieder rein, wenn ich da bin *suchti* :/ *g*

    Gruß
    Thomas

    [edit]
    Da bin ich, pünktlich zum Unterrichtsbeginn Aber wie gesagt, bin dann erstmal kurz wech.

  4. #214
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    01.11.2003
    Ort
    Freiburg im Breisgau
    Alter
    35
    Beiträge
    2.624
    Gut, dann bis gleich!
    Melde Dich dann bitte, wenn es losgehen kann! ;o)

    Ist Tekeli auch da?

  5. #215
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    29.07.2005
    Ort
    Berlin
    Alter
    39
    Beiträge
    289
    Als online wird er ja angezeigt
    Meinte er nicht, er macht im Hintergrund mit? Najo, kannst ja schon die Aufgabe posten, dann kann ich mir im Auto schon Gedanken machen *g*

    [edit]
    So, nun wech, ich meld mich dann.

  6. #216
    Neuer Benutzer Öfters hier
    Registriert seit
    04.08.2005
    Beiträge
    22
    Moin moin,

    bin ganz Ohr

  7. #217
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    01.11.2003
    Ort
    Freiburg im Breisgau
    Alter
    35
    Beiträge
    2.624
    Hier kommt die Aufgabe!
    Seit bitte nicht zu geschockt, es ist nicht ganz leicht, aber Sebastian und ich werden euch langsam darauf hinzuführen!

    Wir haben als nächstes vor, ein Soundmodul zu programmieren.
    Wir werden einfach eine C-Dur-Tonleiter *für die Musiker unter uns* einmal rauf und einmal runter spielen.
    Die Frequenzen findet ihr hier:
    http://www.pianotip.de/frequenz.htm
    Wir werden ersteinmal bei dem c' mit 261,63 Hz anfangen, über den Kammerton a' 440,00 Hz bis hin zum c'' 523,25 Hz.
    Die Halbtonschritte lassen wir im ersten Teil weg, ich will euch ja nicht mit der Musiktheorie überfordern! ;o)

    Damit wir nun nicht alle Töne einzeln mit großem Aufwand programmieren müssen, werden wir die Werte für die Töne im Speicher des AVR's ablegen.
    Das machen mir mit den so genannten Direktiven .DW oder .DB!
    Ich persönlich mache es gerne, dass ich die Daten ganz an's Ende des Codes lege.
    Das sieht dann folgendermaßen aus:
    Code:
    .include "m8def.inc"
    .
    .
    .
    main:
       ...
    
    subroutienen:
       ...
    
    daten1:
    .dw 65535 , 0 ; zwei sogenannte Words
    
    daten2:
    .db "Hallo!" , 10 , 13 ; immer eine gerade Anzahl an Bytes
    Wenn man nun die Daten auslesen möchte, muss man das mit Hilfe des Z-Registers und des Befehls lpm machen.
    Lest euch das bitte durch: http://www.avr-asm-tutorial.net/avr_...ner/index.html

    Mit Hilfe des Z-Registers, welches ein 16-Bit-Register ist, legen wir die Position des Zeigers im Speicher fest.
    An der Position wird dann mit lpm das Byte ausgelesen und in das Register 0 geschoben. Das können wir dann auslesen.

    Schreibt jetzt bitte einen Code, der mit Hilfe des AVR-Speichers in r16 (temp) den Text "Hallo!" ausgibt. Ganz wichtig ist immer, dass ihr eine gerade Anzahl an Bytes benutzt, das hängt mit der Speicherstruktur zusammen.

    So weit, so mehr oder weniger gut! ;o)
    ich hoffe ihr habt wenigstens etwas verstanden, was ich von euch verlange! *g -> schäm für diesen unverständlichen Post*

    Wenn ihr Fragen habt, dann fragt!
    Viel Erfolg!

  8. #218
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    29.07.2005
    Ort
    Berlin
    Alter
    39
    Beiträge
    289
    Also ich hab jetzt mal geschaut, aber irgendwie ist das ziemlich kompliziert geschrieben. Einmal benutzt er da Y und einmal Z. Muss ich da nun auch beide Register mit der "Adresse" belegen?
    Vor allem seh ich da gar nicht durch, was ich da nun zum Lösen der Aufgabe brauch und wie sollen wir den Text denn ausgeben? Können wir den Text nicht einfach irgendwie in r16 kopieren?
    Sorry, aber wahrscheinlich bin ich echt zu doof dafür *g*
    Und dann multipliziert er im Tutorial einmal die Adresse mit 2, ja, weils ein Wort ist, also 2 Bytes. Versteh ich aber leider nicht, warum man das dann x2 nehmen muss.
    Ich hatte bis jetzt immer Bücher zum lernen, aber da gibts ja leider keine guten...

  9. #219
    Neuer Benutzer Öfters hier
    Registriert seit
    04.08.2005
    Beiträge
    22
    So wie ich das verstanden habe, ist der Programmspeicher WORD-weise organisiert. Also unter einer Addresse im Programmspeicher findet man 2 Byte. Also z.B.

    $3400 "0011 0100" "1000 0001"

    Byte1 = "0011 0100"
    Byte2 = "1000 0001"

    Deswegen beim Zugriff sollte man schon sagen, was man will. Will man Byte1 oder Byte2.

    Ist das richtig so?
    [EDIT]
    Und da man mit dem Programmspeicher arbeitet, benutzt man Z-Register.

    @Masters
    Wo sollen wir den "Hello!" ausgeben? Oder sollen wir eine Schleife machen, die Daten aus dem Programmspeicher byteweise einliest, und in der r16 schreibt?

  10. #220
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    29.07.2005
    Ort
    Berlin
    Alter
    39
    Beiträge
    289
    Ja, das denk ich auch. Im Tutorial steht folgender Code:
    Code:
    .EQU Adresse = RAMEND ; In RAMEND steht die höchste SRAM-Adresse des Chips
       LDI YH,HIGH(Adresse)
       LDI YL,LOW(Adresse)
    Und weiter unten dann das hier:
    Code:
    LDI ZH,HIGH(2*Adresse)
       LDI ZL,LOW(2*Adresse)
       LPM
    Aber das versteh ich nicht, brauch ich denn da nun beide Register, kann ich mir aber nicht vorstellen, reicht doch, wenn ich nur ein Registerpaar nehme, oder?
    Aber wie gesagt, versteh nicht, warum der mit 2 multiplizieren muss.

Seite 22 von 53 ErsteErste ... 12202122232432 ... LetzteLetzte

Berechtigungen

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

Solar Speicher und Akkus Tests