Hallo,
ich möchte in meinem Programm Alias benutzen. Ohne Alias funktioniert das Programm(Pin´s direkt angegeben)!

Hab ich beim Alias einen Schreibfehler oder so etwas?

Bei Case "0" werden diese beiden Zeilen rot markiert!
>Segment_a = 1
>Segment_b = 1

Tobias

Code:
'Konfiguration µC:

$regfile = "m8def.dat"                                      'AT-Mega8
$crystal = 8000000                                          '18432000

$hwstack = 32                                               ' default use 32 for the hardware stack
$swstack = 8                                                ' default use 10 for the SW stack
$baud = 38400                                               '38400 wenn langsamer flimmert die Anzeige!!!!

'_______________________________________________________________________________
'0=Eingang / 1=Ausgang
Ddrb = &B11000000                                           'PortB = PB7+6=Ausgang 7Seg)Rest als Eingänge, damit Programmable in System
Ddrc = &B000000                                             'PortC = Eingang
Ddrd = &B11111110                                           'PortD = PD0=RS232 Input, PD1=RS232 output,PD2-PD7=Ausgang 7Seg)

'_______________________________________________________________________________
Dim Anzeige_akt As Word                                     'Aktuelle Zeitmessung
Dim Anzeige_str As String * 5                               'Zeit als String
Dim Anzeige_str_len As Byte                                 'String-Länge
Dim Anzeige_ziffer As String * 1                            'Aktuelle Ziffer
Dim Anzeige_pos As Byte                                     'Aktuelle Ziffer im String
Dim I As Byte                                               'Allgem. Laufzahl

Dim A As Integer                                            'für RS232
Dim RS232 As Integer                                        'für RS232


'_______________________________________________________________________________
'Alias vergeben:
Segment_a = Alias Portd.2                                   'rote Ader
Segment_b = Alias Portd.3
Segment_c = Alias Portd.4
Segment_d = Alias Portb.6
Segment_e = Alias Portb.7
Segment_f = Alias Portd.5
Segment_g = Alias Portd.6
Segment_dp = Alias Portd.7

'_______________________________________________________________________________


RS232 = 0


Do
 Anzeige_str = Str(anzeige_akt)                             ' Wert in String umwandeln
      Anzeige_str_len = Len(anzeige_str)                    ' Stringlänge messen

      Anzeige_pos = Anzeige_str_len - I
      Anzeige_pos = Anzeige_pos + 1

      Anzeige_ziffer = Mid(anzeige_str , Anzeige_pos , 1)

      Portc = 0                                             'Ghosting vermeiden (damit nich auf allen Anzeigen die selbe Zahl steht!!!)

      'Auswahl der Ziffer und festlegung der einzelnen segmente
      Select Case Anzeige_ziffer

           Case "0" :                                       'Ziffer NULL
           Segment_a = 1
           Segment_b = 1
           Segment_c = 1
           Segment_d = 1
           Segment_e = 1
           Segment_f = 0
           Segment_g = 0

           Case "1" :                                       'Ziffer EINS
           Segment_a = 0
           Segment_b = 1
           Segment_c = 1
           Segment_d = 0
           Segment_e = 0
           Segment_f = 0
           Segment_g = 0


           Case "2" :                                       'Ziffer ZWEI
           Segment_a = 1
           Segment_b = 1
           Segment_c = 0
           Segment_d = 1
           Segment_e = 1
           Segment_f = 0
           Segment_g = 1


           Case "3" :                                       'Ziffer DREI
           Segment_a = 1
           Segment_b = 1
           Segment_c = 1
           Segment_d = 1
           Segment_e = 0
           Segment_f = 0
           Segment_g = 1


           Case "4" :                                       'Ziffer VIER
           Segment_a = 0
           Segment_b = 1
           Segment_c = 1
           Segment_d = 0
           Segment_e = 0
           Segment_f = 1
           Segment_g = 1


           Case "5" :                                       'Ziffer FÜNF
           Segment_a = 1
           Segment_b = 0
           Segment_c = 1
           Segment_d = 1
           Segment_e = 0
           Segment_f = 1
           Segment_g = 1


           Case "6" :                                       'Ziffer  SECHS
           Segment_a = 1
           Segment_b = 0
           Segment_c = 1
           Segment_d = 1
           Segment_e = 1
           Segment_f = 1
           Segment_g = 1


           Case "7" : 'Ziffer SIEBEN
           Segment_a = 1
           Segment_b = 1
           Segment_c = 1
           Segment_d = 0
           Segment_e = 0
           Segment_f = 0
           Segment_g = 0


           Case "8" :                                       'Ziffer NEUN ACHT
           Segment_a = 1
           Segment_b = 1
           Segment_c = 1
           Segment_d = 1
           Segment_e = 1
           Segment_f = 1
           Segment_g = 1


           Case "9" :                                       'Ziffer NEUN
           Segment_a = 1
           Segment_b = 1
           Segment_c = 1
           Segment_d = 1
           Segment_e = 0
           Segment_f = 1
           Segment_g = 1


           Case Else :
           Segment_a = 0
           Segment_b = 0
           Segment_c = 0
           Segment_d = 0
           Segment_e = 0
           Segment_f = 0
           Segment_g = 1


      End Select

     'Segment wählen
      If I = 1 Then Portc.1 = 1                             'EINER
      'If I = 2 Then Portc.2 = 1                            'ZEHNER
      If I = 2 Then
      Portc.2 = 1                                           'ZEHNER
      Portd.7 = 1                                           'EINE Kommastelle (Punkt einschalten)
       End If
      If I = 3 Then Portc.3 = 1                             'HUNDERTER
      If I = 4 Then Portc.4 = 1                             'TAUSENDER

      I = I + 1                                             'Nächste Ziffer
      If I >= 5 Then I = 1                                  'max Anzeigen angeben! damit Anzeige möglichst hell ist(bei 5Anzeigen muss bei der 6. wieder bei 1 Angefangen werden)


'ENDE ANZEIGE


If Usr.rxc = 1 Then                                         'Wenn Byte empfangen...
A = Udr                                                     'Byte aus UART auslesen
Input RS232                                                 'Noecho                                              'über RS232 empfangen
'Print "out " ; RS232  'ÜBERLASTET den µC!!!
End If


'Wert von serieller Schnittstelle auf Anzeige Übernehmen
Anzeige_akt = RS232


Loop



'-------------------------------------------------------------------------------
'Anschlussbelegung am AT-MEGA8
'-------------------------------------------------------------------------------

'Segment A = PD2 (rote Ader)
'Segment B = PD3
'Segment C = PD4
'Segment D = PB6
'Segment E = PB7
'Segment F = PD5
'Segment G = PD6
'Segment DP = PD7

'Zahl 1 = PC1 ganz rechts EINER (rote Ader)
'Zahl 2 = PC2 2.Stelle von Rechts ZEHNER
'Zahl 3 = PC3 3.Stelle von Rechts Hunderter
'Zahl 4 = PC4 4.Stelle von Rechts Tausender

'  a
'  -
'f|g|b
'  -
'e| |c
'  -
'  d