Hi,
ich bin neu hier und will mich erstmal kurz vorstellen.
Ich bin Phil, 20 und bin Neueinsteiger im Thema Elektronik.
Ich habe zwischen den Jahren ein Programmiergerät für einen ATmega32 mit Programmierkabel gelötet. Das war das erstemal, dass ich mit einem Lötkolben gearbeitet habe und mich mit Spannungen und Strom beschäftigt habe. Bin von daher von meinem ergebnis um so überraschter.
Antrieb für mein neues Hobby war ein Video auf YouTube von einer LED-Matrix und da dachte ich mir "das will ich auch"! Ja und nun bin ich hier angelangt mit meinen Fragen, denn hier auf dieser Seite habe ich sehr viel über BASCOM-avr erfahren.
Hatte vorher auch noch nie was mit basic zu tun (nur php, mySQL und etwas Pascal) und habe nun mein eigenes Programm für mutliplexing geschrieben:
Meine Frage ist nun: Wie kann ich diesen Code etwas kürzen?Code:$regfile = "m32def.dat" $framesize = 32 $swstack = 32 $hwstack = 32 $crystal = 1600000 $baud = 9600 Config Portc = Output Config Portb = Output Portc.0 = 0 Portc.1 = 0 Portc.2 = 0 Portc.3 = 0 Portc.4 = 0 Portc.5 = 0 Portc.6 = 0 Portc.7 = 0 Portb.7 = 0 Dim Col As Integer Dim Row As Integer Dim Time As Integer Time = 1 Do For Col = 0 To 8 Config Porta = Input Portc.0 = 0 Portc.1 = 0 Portc.2 = 0 Portc.3 = 0 Portc.4 = 0 Portc.5 = 0 Portc.6 = 0 Portc.7 = 0 Portb.7 = 0 If Col = 0 Then Portc.0 = 1 Waitms Time Elseif Col = 1 Then Portc.1 = 1 Waitms Time Elseif Col = 2 Then Portc.2 = 1 Waitms Time Elseif Col = 3 Then Portc.3 = 1 Waitms Time Elseif Col = 3 Then Portc.3 = 1 Waitms Time Elseif Col = 4 Then Portc.4 = 1 Waitms Time Elseif Col = 5 Then Portc.5 = 1 Waitms Time Elseif Col = 6 Then Portc.6 = 1 Waitms Time Elseif Col = 7 Then Portc.7 = 1 Waitms Time Elseif Col = 8 Then Portb.7 = 1 Waitms Time End If For Row = 0 To 3 Config Porta = Input If Row = 0 Then Config Porta.0 = Output Waitms Time Elseif Row = 1 Then Config Porta.1 = Output Waitms Time Elseif Row = 2 Then Config Porta.2 = Output Waitms Time End If Next Next Loop
in php wüsste ich das, denn ich würde dieses ganzen if - ellseif dinger kürzen in dem ich einfach mache:
portc.Col (dass das halt da durchläuft) aber das geht nicht.
Ich hoffe, mir kannn jmd helfen!
______
was ich vllt noch erwähnen müsste: An PA0-2 sind die Ebenen der 3x3x3 Matrix. an PC0-7 und PB7 sind die Spalten der Matrix.
Lesezeichen