Suchergebnisse
Suchergebnisse 1-20 von insgesamt 1.000. Es gibt noch weitere Suchergebnisse, bitte verfeinern Sie Ihre Suche.
Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen
Aufgrund technischer Veränderungen ist der Mailverkehr innerhalb des Forums (Private Nachrichten) nur noch eingeschränkt möglich. Die Einschränkung ist notwendig, um zusätzliche Betriebskosten für das Forum zu vermeiden. Näheres zu den Hintergründen im Thread "Aktuelles zum Forum".Wir bitten um Verständnis.
Hinweis kann nach Kenntnisnahme deaktiviert werden!
-
Wenn man zu viel in eine Sub packt, wird es schnell unübersichtlich. Trenn das auf. Mach eine SetChar-Routine, die nur einzelne Zeichen ausgibt. Diese kann SetPixel zu setzen der Punkte verwenden. Dann mach eine SetText, die die einzelnen Zeichen extrahiert und diese der SetChar-Routine übergibt. So wird das deutlich übersichtlicher für dich.
-
Du hast ja jetzt eine Routine um Pixel auszugeben. Du könntest jetzt eine Routine Schreiben, um ein Char auszugeben, welches Panel_SetPixel() verwendet. Das macht die Ausgabe für ein Zeichen einfacher. Für Strings eine andere Routine, die dann die Char-Routine verwendet. Das ist vielleicht nicht der schnellste Weg, Zeichen auf den Screen zu bringen, aber ein übersichtlicher. Effektiver geht es, wenn man die benötigten Adressen Für Screen, Font usw einmal berechnet und nur per Incr oder Addition …
-
Sorry, mein Fehler. So ist es eben, wenn man Code ungetestet raus gibt. Aber dafür hab ich ja dich! Sub Panel_SetPixel(Byval x as Word , Byval y as Word , Byval Color as Byte) Local tmpAddress as Word Local BufferIndex as Word ' Index für Panel_Buffer Local DataByte as Byte Color = Color And &h07 ' nur Color 0 bis 7 zulässig Bei Color muss &h7 stehen.
-
Hast du die Pins rgb1 und rgb2 korrekt angeschlossen? Also r1, g1, b1 nicht untereinander vertauscht? Selbes bei r2, g2, b2? Wenn alles korrekt angeschlossen ist, kannst du die Konstanten für die Farben einfach ändern. Kann sein, dass ich mich da bei den Mischfarben vertan habe. Ich habe ja noch immer kein Display. Ich sehe das also nicht. Welche farben stimmen denn nicht? Beispiel: Call Panel_SetPixel(3,5,COLOR_YELLOW)
-
Hast es wohl doch noch nicht ganz verstanden? Die Scanline kann nur Werte von 0 bis 15 annehmen. Die Scanline entspricht den Zeilen 0 bis 15 bei einem Modul mit 16 Zeilen. Bei einem Modul mit 32 Zeilen werden 2 solche Panels mit je 16 Zeilen parallel geschaltet. Daraus ergibt sich dann ein Modul mit 32 Zeilen. Die Anschlüsse A bis D der beiden 16-Zeiligen Module werden zusammen geschaltet. Man kann also trotzdem nur 16 Zeilen adressieren. Wenn du eine Scanline ausgibst, wird auch die Scanline in…
-
Ich denke, jetzt hat es bei dir geklingelt! Mit Scanline kann man ja nur 16 Zeilen adressieren (obere Hälfte). Es sind aber 32 Zeilen. Also hat man das per Hardware einfach dupliziert und die Scannlines zusammen gefasst. Mit Scallline=0 adressierst du also die Zeile 0 und 16, mit Scanline=1 die Zeilen 1 und 17. Bedeutet, dass du für 2 Zeilen gleichzeitig die Farben ausgeben musst. Und da in einem Byte 8 Bit platz haben, und du für eine Farbe 3 Bits brauchst, reichen 6 Bits.
-
Zitat von Raimond Longer: „I can get the connection back to PortB.6 “ Ja das ist der OC1B Pin. Du musst den Pin noch als Ausgang konfigurieren. Zusätzlich ein paar Bits in den Timer-Register setzen. Die Timer-Configuration (Config Timer1=PWM, ...) funktioniert in dem Fall nicht. Da müssen ein paar WGM-Bits gesetzt werden.
-
Da du den Timer 1 ja schon verwendest, würde sich für die Helligkeit das PWM mit Ausgang Compare1B anbieten. Das wären dann 800 Hz PWM und zudem Synchron zur Matrix-Ausgabe. Das sollte eigentlich funktionieren. Natürlich lasst sich damit nicht die Helligkeit einzelner Pixel individuell einstellen, sondern nur das gesamte Display heller/dunkler.