Demo-Programm von STK500

Moderator Persönliche Seite #635413
Lesenswert?
• ▲
▼
Habe mir mal den Spaß gemacht, das selbst zu probieren.
Logischerweise kann der generierte Assemblercode für die
Schiebeoperationen nicht mit der Assemblerversion mithalten, der Rest
ist ziemlich gleich.

Ich fand die originale Version beim Ausprobieren ziemlich schlecht zu
benutzen.  Wenn man kurze Delays hat, prellen die Taster ziemlich
stark, und es ist ein ziemliches Geduldsspiel, nur einen einzelnen
Tastendruck zu generieren.  Außerdem rast die Anzeige beim dauerhaften
Drücken dann ziemlich schnell durch.  Macht man das Delay dagegen
lang, dann muss man bis zur nächsten Runde die Taste gedrückt halten,
oder sie wird nicht erkannt.

Daher habe ich eine Alternative gebaut, die während der Wartezeit
ständig PIND pollt und sich alle gedrückten Tasten merkt.  Die nächste
Runde nach dem Warten wertet dann diese temporäre Variable aus.

Enjoy!

p.s.: Die Hilfsfunktionen für Operationen, die in C nicht per
einfachem Operator verfügbar sind, sind vor allem der
Übersichtlichkeit halber da.  Mit Optimierung werden die alle inline
generiert, da sie ja nur ein einziges Mal benutzt sind.
Angehängte Dateien:

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.