PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Programm funktioniert nicht --> Hilfe



strunz
30.05.2005, 21:09
Hallo Leute,

ich habe meinen Bot nun soweit, dass ich denn mal "zum Leben" erwecken könnte. Leider bin ich im Programmieren noch ein Newbie.
Habe bis her nur das "Hello World" Programm erfolgreich zum laufen gebracht. (Also funktioniert die Hardware)

Jetzt wollte ich das Programm für die Liniensensorik schreiben, und bin so weit gekommen:




Rem Portc.0 = 1 --> Motor links vor
Rem Portc.1 = 1 --> Motor links rück
Rem Portc.2 = 1 --> Motor rechts vor
Rem Portc.3 = 1 --> Motor rechts rück

Rem Sensor links --> Porta.0 (sw =1)
Rem Sensor rechts --> Porta.1 (sw =1)


$regfile = "m32def.dat"
$crystal = 4000000
$baud = 9600



Config Portc = Output
Config Porta = Input



Do

If Porta.0 = 0 Then
Portc.0 = 1
Portc.1 = 0
Portc.2 = 0
Portc.3 = 0
End If


If Porta.0 = 1 Then
Portc.0 = 1
Portc.1 = 0
Portc.2 = 1
Portc.3 = 0
End If


If Porta.1 = 0 Then
Portc.0 = 0
Portc.1 = 0
Portc.2 = 1
Portc.3 = 0
End If


If Porta.1 = 1 Then
Portc.0 = 1
Portc.1 = 0
Portc.2 = 1
Portc.3 = 0
End If

Loop


Meiner Meinung nach müsste da doch was gehen!?
Aber wenn ich das Programm in den Controller schreibe, tut sich gar nichts :-(

Was mache ich falsch?
Was stimmt mit dem Programm nicht?

P.S. Die Motortreiber Schaltung funktioniert (getestet)
Die Signale der Ssensoren stehen alle an, wie sie sollten.

x-ryder
30.05.2005, 22:13
da darf nicht Porta.x stehen sondern Pina.x, weil das die schreibweise für nen eingang ist

strunz
30.05.2005, 22:20
Au ja,
danke für die rasche antwort.
jetzt tut sich immerhin schon etwas. der fährt ständig vor...
aber leider nur die ganze zeit, egal was an PortA anliegt.

30.05.2005, 22:29
da hast ja auch doppelbelegungen drinne, wenn an porta.0 ne 1 iss und an a.1 auch, iss ja zwei sachen gleichzeitig, gleiches problem mit 0

strunz
30.05.2005, 22:54
ja, dass is ja möglich porta.0 und porta.1 gleichzeitig 1 bedeutet: der untergrund ist schwarz --> beide motoren drehen...