Hi, und zwar habe ich vor eine 3x3 RGB-Matrix aufzubauen! 9 Spalten und 3 Zeilen! Ich habe mal soweit wie möglich den Code angepasst, jedoch habe ich anscheinend den Interrupt noch nicht ganz verstanden! Der aktuelle Quellcode tut bisher nichts anderes als 2 RGB LEDs zu dimmen und den Farbwert zu ändern! Jedoch will ich es hinkriegen dass er nacheinander die RGBs anspricht und den (fürs erste reicht ja die erste Reihe, also sprich die ersten 3 RGB) Farbwert setzt ( jede der 3 RGBs sollen unterschiedlich farblich leuchten können!) Ich habe eine Funktion mit dem Prototypen void set_field() geschrieben. diese soll das Feld bekommen und den Spieler bzw. die Farbe. Darauf hab ich in der main mal eine Routine geschrieben, die die erste RGB LED zum Leuchten bringen soll. Jedoch leuchten alle 3 :/ bzw auf dem STK Board die ersten 6 LEDs. Kann kann ich nicht 3 verschiedene Interrupt Routinen schreiben und die nacheinander aufrufen? Bei set_field wollte ich ansich wie man bei case 3: bis case 9: noch sieht die Kathoden der RGB einzelnd ansprechen damit ich wenigstens Rot, Grün und Blau hinkriege.. würde sie aber gerne mischen können!
Ohne jetzt dein Programm im Detail angesehen zu haben, würde ich dir folgendes raten: Zuerstmal solltest du nen Schaltplan reinstellen. Dieser sollte so konstruiert sein, dass alle Farben jeder LED einzeln anzusprechen sind. Die Anschlussbelegung dieser Zeilen/SPalten sollte möglichst clever gewählt werden, um später keine Klimmzüge beim Ansteuern machen zu müssen. Danach solltest du einen sogenannten Videospeicher anlegen, der durch ein geeignetes interruptgetriebenes Programmteil zyklisch ausgegeben wird. Danach kannst du Funktionen programmieren, die irgendwelche Muster oder Figuren oder was auch immer in diesen Videospeicher reinschreiben.
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.