Dot Matrix MAX7219 in Weiß?
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!
-
-
hab ich schon gesehen
das wird in dem Programm schon gemacht, zwar nicht in der Init_max7219
sondern in der Led_write_command:
Init_max7219: ' Initialisieren des MAX7219
Befehl = &H09 : Disp_daten = &H00 ' kein decode "B" für alle Digits weil 8x8 Matrix
Gosub Led_write_command
Befehl = &H0A : Disp_daten = &H04 ' Helligkeit 0-F
Gosub Led_write_command
Befehl = &H0B : Disp_daten = 7 ' Anzahl Digits 8 weil 8x8 Matrix
Gosub Led_write_command
Befehl = &H0F : Disp_daten = 0 ' Test Off
Gosub Led_write_command
Befehl = &H0C : Disp_daten = 1 ' Shutdown Off
Gosub Led_write_command
Return
Led_write_command:
Cs = 0
For N = 1 To Anzahl_displays
Shiftout Din , Clk , Befehl , 1
Shiftout Din , Clk , Disp_daten , 1
Next N
Cs = 1 'Flanke von 0 zu 1 überträgt den Befehl und die Daten in den Max
Return -
AlexW schrieb:
zwar nicht in der Init_max7219
Es muss also alles so oft ausgeführt werden, wie die Anzahl der Displays (MAX7219) ist.Eine Lösung habe ich nicht, aber mir gefällt Ihr Problem. -
jep das macht die led_write_command
aber ich habs gefunden, bzw nicht ich sondern meister tschoeatsch
das Problem ist:
Die Ausgabe Routine muss geändert werden.
Meister tschoeatsch hat das Problem schon mal gelöst ;-9
bascomforum.de/index.php?threa…7219-anf%C3%A4ngerfragen/
'Ausgabe: 'der Bildspeicher wird an die Max7219 übertragen
' For Zeile = 1 To 8 'Zeilennummer des Bildspeichers, oberste Zeile=1 =bit0 der spalte
' Bs_spalte = 1
' Cs = 0 'Beginn der Datenübertragung
' Do
' For N = 7 To 0 Step -1 'bit7 ist links in der Zeile der Matrix, bit0 rechts
' Bit_nummer = Zeile - 1
' Disp_daten.n = Bildspeicher(bs_spalte).bit_nummer 'ein bit einer Spalte dem bit einer Zeile für den Max zuordnen
' Incr Bs_spalte
' Next N
' 'ein byte ist jetzt zusammen gesetzt und kann gesendet werden
' Shiftout Din , Clk , Zeile , 1
' Shiftout Din , Clk , Disp_daten , 1
' Loop Until Bs_spalte > Spalten
' Cs = 1 'Flanke überträgt die Daten für einer Bildspeicher-Zeile an die Max7219
' Next Zeile
'Return
Ausgabe: 'der Bildspeicher wird an die Max7219 übertragen
For Zeile = 1 To 8 'Zeilennummer des max, oberste Zeile=8 =bit0 der spalte
Bs_spalte = 1
Cs = 0 'Beginn der Datenübertragung
Do
For N = 0 To 7 'bit0 ist links in der Zeile der Matrix, bit7 rechts
Bit_nummer = 8 - Zeile
Disp_daten.n = Bildspeicher(bs_spalte).bit_nummer 'ein bit einer Spalte dem bit einer Zeile für den Max zuordnen
Incr Bs_spalte
Next N
'ein byte ist jetzt zusammen gesetzt und kann gesendet werden
Shiftout Din , Clk , Zeile , 1
Shiftout Din , Clk , Disp_daten , 1
Loop Until Bs_spalte > Spalten
Cs = 1 'Flanke überträgt die Daten für einer Bildspeicher-Zeile an die Max7219
Next Zeile
Return -
AlexW schrieb:
jep das macht die led_write_command
Wo her soll ich das dann wissen?Eine Lösung habe ich nicht, aber mir gefällt Ihr Problem. -
stimmt, aber dafür im Post 22
danke euch, vor allem djmsc der sich so spät in der Nacht Zeit für mich genommen hat. -
AlexW schrieb:
vor allem djmsc der sich so spät in der Nacht Zeit für mich genommen hat.
Dafür sind wir doch hier, um zu helfen...Eine Lösung habe ich nicht, aber mir gefällt Ihr Problem.