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.