Hi, ich habe vor einer Weile mal eine Seite entdeckt und gedacht, die wäre in den Bookmarks, leider nicht. Auf der Seite geht es um viele Beispiele, wie man mit logischen Operation und viel Geschick Daten "bearbeitet". Es gab viele Beispiele, die Sprache war wohl C oder (irgend ein) Assembler. Die Seite an sich war sehr einfach gehalten, Text, Information, Grau (glaube ich). Viel genauer kann ich es gar nicht beschreiben, ich hatte damals keinen Kopf dafür und dachte ich hätte es dann abgespeichert. Vielleicht klingelt es ja bei jemandem von euch.
:
Gesperrt durch Moderator
http://www.graphics.stanford.edu/%7Eseander/bithacks.html#CountBitsSetNaive https://rosettacode.org/wiki/Population_count
Andreas B. schrieb: > bit twiddling hacks DAS war die Seite, die ich im Kopf hatte. Die ersten beiden passen aber gerade auch gut zum Thema und "nehme die ebenfalls mit durch." Vielen Dank euch allen! Frank M. schrieb: > Artikel Bitmanipulation mit Beispielen in C und AVR-ASM. Der Grund, warum mir die gesuchte wieder (so halb) einfiel, ist folgender: ich bastle seit geraumer Zeit mit verschiedenen Displays und serieller Kommunikation herum, hauptsächlich an irgendwelchen Versuchen zu verschiedenen (selber ausgedachten) Protokollen. Ich komme aber immer wieder auf Escape-Sequenzen zurück. Immer dann, wenn ein weiteres Gerät dazu kommen soll, was eben solche schluckt. Mit dem hiesigen Artikel habe ich mich bisher immer beschäftigt, wenn es darum ging. Bin darin eigentlich auch nicht schlecht (behaupte ich jetzt einfach). Mein Code zu den Escape Sequenzen ist aber ein ekelhaft riesiges, lahmes und hässliches Monster. Ich möchte mich jetzt einfach erstmal ausgiebig damit beschäftigen, dann das Monster neu auflegen. Ich habe mir zum Beispiel auch schonmal TellyMate Code angesehen, nachvollzogen wie die das machen, vom Empfang bis fertig ausgeführt. Finde das aber auch nicht elegant gelöst. Wer sowas schonmal gemacht hat, weiss bestimmt was ich meine. z.B. das CrystalFontz Protokoll per UART. Control Chars 1byte + evtl Parameter/Daten. Dann vier Escape Sequenzen (3byte only, zum Glück!) und bis zu 8 Sonderzeichen, die im Display an Charset(0) beginnen - im Protokoll aber bei 0x80. Dann natürlich noch der normale Text. und da ist noch keine Möglichkeit gegeben, dass man meherere Displays an einer Leitung addressieren oder zumindest den Empfang deaktivieren kann. waaaaaah.
:
Bearbeitet durch User
Wf88 schrieb: > Ich komme aber immer wieder auf Escape-Sequenzen zurück. Sind das Escape-Sequenzen, die das Display direkt schluckt, oder schickst Du an einen µC (generische, selbst erdachte) Escape-Sequenzen, welcher diese dann in Display-spezifische Befehle umsetzen soll? Schau Dir mal als mögliche Anregng MCURSES an.
Frank M. schrieb: > Sind das Escape-Sequenzen, die das Display direkt schluckt, oder > schickst Du an einen µC (generische, selbst erdachte) Escape-Sequenzen, > welcher diese dann in Display-spezifische Befehle umsetzen soll? Beides :) Ich habe fertige Displays wie das Siemens BA63, Auszug aus dem Manual im Screenshot. An solchen lässt sich nichts ändern. LED-Matrix, KS0108 und HD44780 Displays habe ich welche mit selbst gestrickter Steuerung und dabei komme ich eben immer auf Escape Sequenzen zurück. MCURSES kennne ich auch schon und verwende es auf meiner LED Matrix (96x8) für einen Screen-Editor (Pixel an/aus, Cursor bewegen) und einen Text-Editor :)
:
Bearbeitet durch User
Beitrag #7674570 wurde von einem Moderator gelöscht.
Beitrag #7674605 wurde von einem Moderator gelöscht.
Beitrag #7674874 wurde von einem Moderator gelöscht.
Beitrag #7674945 wurde von einem Moderator gelöscht.
Beitrag #7674965 wurde von einem Moderator gelöscht.
Beitrag #7674981 wurde von einem Moderator gelöscht.
Beitrag #7674993 wurde von einem Moderator gelöscht.
Beitrag #7674995 wurde von einem Moderator gelöscht.
Beitrag #7675017 wurde von einem Moderator gelöscht.
Beitrag #7675047 wurde von einem Moderator gelöscht.
Beitrag #7675118 wurde von einem Moderator gelöscht.
Beitrag #7675129 wurde von einem Moderator gelöscht.
Beitrag #7675130 wurde von einem Moderator gelöscht.
Beitrag #7675132 wurde von einem Moderator gelöscht.
Beitrag #7675133 wurde von einem Moderator gelöscht.
Beitrag #7675136 wurde von einem Moderator gelöscht.
Beitrag #7675137 wurde von einem Moderator gelöscht.
Beitrag #7675139 wurde von einem Moderator gelöscht.
Beitrag #7675140 wurde von einem Moderator gelöscht.
Beitrag #7675147 wurde von einem Moderator gelöscht.
Beitrag #7675148 wurde von einem Moderator gelöscht.
Beitrag #7675149 wurde von einem Moderator gelöscht.
Beitrag #7675152 wurde von einem Moderator gelöscht.
Beitrag #7675159 wurde von einem Moderator gelöscht.
Beitrag #7675385 wurde von einem Moderator gelöscht.
Beitrag #7675404 wurde von einem Moderator gelöscht.
Gerhard H. schrieb im Beitrag #7674570: > PORTB &= ~((1 << MEINBIT0) | (1 << MEINBIT2)); // löscht Bits 0 und 2 in > PORTB Man darf in C auch Bitfelder verwenden und damit die Pins mit erklärenden Namen definieren. Ich benutze dazu ein "hardware.h", worin alles Schaltungs spezifische definiert wird. Dadurch kann man bei Bedarf die Pins auch schnell wechseln. Dann sieht der Code z.B. so aus:
1 | if (TASTER == 0 && INTERLOCK == 1) |
2 | MOTOR = 1; |
Beitrag #7675438 wurde von einem Moderator gelöscht.
Beitrag #7675447 wurde von einem Moderator gelöscht.
Da der TO seine Antwort längst bekommen hat und hier lediglich nur noch versucht wird, den 1001sten C vs. ASM-Krieg anzuzetteln, mache ich hier mal zu.