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:

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
Meine Frage ist nun: Wie kann ich diesen Code etwas kürzen?

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.