Naja allerdings auch nur bedingt...
Wenn ich mehrere If-Schleifen habe spinnt das Programm völlig weil es wohl anscheinend alle Else-Schleifen auf einmal abarbeitet und dann total ins Wanken kommt. Was ich auch nicht verstehe ist wieso dieser Code hier meines alter Boards einwandfrei funktioniert
	Code:
	$regfile = "m8def.dat"                                      'ATmega8
$crystal = 3686411                                          'Quarz: 3686411 Hz
Ddrb = &B00000000
Ddrc = &B00000000
Ddrd = &B11110000                                           
Do
  Portd.4 = 1                                               
  Portd.5 = 0
  Portd.6 = 1
  Portd.7 = 0
   If Pinc.1 = 1 Then                                       'SHARP rechts
     Portd.4 = 1
     Portd.7 = 1
     Portd.6 = 0
     Portd.5 = 0
     Waitms 500
   End If
   If Pinc.2 = 1 Then                                       'SHARP links
     Portd.5 = 1
     Portd.6 = 1
     Portd.4 = 0
     Portd.7 = 0
     Waitms 500
   End If
Loop
End
'Auf PD4-7 sind jeweils meine Motoren
 und mein neuer hier unten ohne die else-schleife nicht arbeiten will
	Code:
	$regfile = "m32def.dat"                                     'ATmega32
$crystal = 11059200                                         'Quarz: 11059200 Hz
Ddrc = &B00000000                                           
Ddrd = &B00111100                                          
Do
Portd.2 = 1                                               
Portd.3 = 0                                               
Portd.4 = 1                                                
Portd.5 = 0
   If Pinc.2 = 1 Then                                       'SHARP R
     Portd.2 = 0
     Portd.3 = 0
     Portd.4 = 1
     Portd.5 = 0
     Waitms 3000
'   Else
'     Portd.2 = 1
'     Portd.3 = 0
'     Portd.4 = 1
'     Portd.5 = 0
   End If
   If Pinc.3 = 1 Then                                       'SHARP L
     Portd.2 = 1
     Portd.3 = 0
     Portd.4 = 0
     Portd.5 = 0
     Waitms 500
'   Else
'     Portd.2 = 1
'     Portd.3 = 0
'     Portd.4 = 1
'     Portd.5 = 0
   End If
Loop
End
 Ohne die Else-Schaltung schaltet es wie bereits angesprochen meine Ports dauernd auf High, egal ob nun PC2 oder PC3 auf High ist oder nicht. Wenn ich ein Else einfüge passiert das nicht. Das wäre soweit gut soweit es nur eine If-Schleife gibt aber sobald es wie oben zu sehen 2 If-Schleifen gibt mit jeweils einer Else-Anweisung spinnt mein AVR total weil er anscheinend die Else nun ausführen will und total durcheinander kommt. Aber wieso sind die Else oben NICHT notwendig und unten sind sie es??
						
					
Lesezeichen