Hallo! Ich möchte den Befehl sbi gerne in Verbindung mit einer Variablen verwenden (Soll zum Realisieren von Up- Down- Tasten sein). Ich hab´s mit " sbi r17, r18 " versucht, wobei r17 später als Negativ (com r17) an Port B (LEDs) ausgegeben wird und r18 (über Tastendruck) inc bzw dec wird. - funktioniert nur leider nicht Wie lautet die korrekte Syntax für dieses Problem (wenn´s eine gibt)? Wie werden Up- Dn- Tasten sonst realisiert (in einem Led - Balken leuchtet 1 LED - diese soll um eine Stelle verschoben werden) Danke!!
Also wenn ich dich richtig verstanden habe, dann willst du eine Art Balkenanzeige programmieren (ähnlich den Graphicequalizern)? Du könntest mittels ROR/ROL deine Einsen oder Nullen in dein Register PORTB schieben. Vorher das Carry-Flag entsprechend setzen. sbi verlangt nach IO-Register - per Definition.
Hallo Funkschuster, also die Funktion des SBI-Befehls kannst Du wohl am besten der AVR-Befehlsbeschreibung entnehmen. Zur Programmierung allgemein: Das Geheimnis heißt Baby-Steps. D.h. Du must das Problem in viele einzelne Schritte zerlegen, immer weiter und weiter, bis der einzelne Schritt so klein ist, daß Du ihn programmieren kannst. Also in Deinem Fall besteht es z.B. aus Eingabe, Verarbeitung Ausgabe. Die Eingabe wiederum aus Tastenabfrage und Entprellung. Die Tastenabfrage muß wiederum festellen ob eine Taste gedrückt wurde, und wenn ja, welche, usw., usw.. Zwischen den einzelnen Funktionen mußt Du auch festlegen, wie die Informationen übertragen werden, z.B. in einem Register. Noch ein Tip: Vermeide direkte Registerverwendung. Gib den Registern immer Namen, die auf die Funktion hinweisen, z.B. .def Tasten_Kode = r16 .def LED_Ausgabe = r17 Peter
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.