-
Hallo,
das mit den Port's wird so nicht funktionieren. Kann man im Simulator auch nachverfolgen.
> Config Portc = Output
> Config Portb = Output
Das bedeutet, dass alle Pins auf beiden Ports Ausgänge sind, aber noch hochohmig.
Weiter unten dann:
> Ddrc = &B00000001
Jetzt wird das Datenrichtungsregister direkt angesprochen. ( Im Prinzip das gleiche wie oben )
Nur werden jetzt Pin1 - 7 als Eingänge definiert
Nur "Portc.0 = 1" oder "Set Portc.0" setzt die mit Output definierten Portpin's auf "High" bzw. Logisch "1".
-
Es hat aber so funktioniert ;)
Ich habe heute Mittag aber noch was anders gemacht, was die selbe Funktion hat. Ich denke das meinst du auch.
Hier ist meine neue Sub zum Fahren:
Code:
Sub Fahren()
Dim Sensor As Word
Sensor = Getadc(2) 'Sensor 1 aktivieren
Config Pina.2 = Input 'Port als Input
Porta.2 = 1 'Port hoch setzen
Portc.7 = 1 'Motor 1 Vorwärts
Portb.1 = 1 'Motor 2 Vorwärts
Do 'Endlosschleife
If Getadc(2) < 1010 Then 'Wenn Port runter gesetzt wird (Low)
Portc.6 = 1 'Motor 1 Rückwärts
Portc.7 = 0
Portb.0 = 1 'Motor 2 Rückwärts
Portb.1 = 0
Print "Hindernis, setze zurueck!"
Waitms 100
'Rechtsdrehung
Portc.7 = 1 'Motor 1 Vorwärts
Portc.6 = 0
Waitms 50
'Geradeaus
Portb.1 = 1 'Motor 2 Vorwärts
Portb.0 = 0
Print "Setze Fahrt fort!"
End If
Loop
End Sub