Subversion Repositories svnkaklik

Compare Revisions

Ignore whitespace Rev 320 → Rev 321

/roboti/Robiada/2007/SW/robot/robot.bas
33,11 → 33,21
txreg = c
End Sub
 
Sub delay(cas As Byte)
Dim i As Byte
Dim x As Byte
Do while i <= cas
Do While x <= 100
Call receive()
x=x+1
loop
i=i+1
loop
End Sub
 
Sub main()
Dim motors As Byte
Dim sensors As Byte
Dim leds As Byte
Dim leds1 As Byte
Dim buttons As Byte
Dim i As Long
 
60,65 → 70,42
rcsta = rcsta | (1 << CREN)
rcsta = rcsta | (1 << SPEN)
motors = 0x00
leds = 0xFF
leds1 = 0x0F
lata = 0x0E
Call delay(200)
lata = 0x0D
Call delay(200)
lata = 0x0B
Call delay(200)
lata = 0x07
Call delay(200)
 
motors = 0x00
motors = 0x77
 
Call delay(100)
 
Do while 1
Do while i <= 500000
i=i+1
loop
motors = motors + 0x11
elseif (buttons.4)=0 Then
i=0
leds1 = leds1 + 1
lata = leds1
Do while i <= 500000
i=i+1
loop
motors = motors - 0x11
End If
leds = 0xFF
sensors =0xFF
sensors = Call receive() 'prijmi stav cidel senzoru
'Bity v bajtu sensors
'BIT3=LEVE SPODNI, BIT2=PRAVE SPODNI, BIT1=LEVE PREDNI, BIT0=PRAVE PREDNI
'prislusny bit v nule znamena aktivni senzor
If (sensors.0)=0 Then
'pravy predni senzor aktivni
'rozsvit prislusnou LED k senzoru, zatim jen v promenne
leds = leds & ~(1 << 1) 'led sviti, kdyz se ji bit znuluje
End If
If (sensors.1)=0 Then
'levy predni senzor aktivni
'rozsvit prislusnou LED k senzoru, zatim jen v promenne
leds = leds & ~(1 << 2) 'led sviti, kdyz se ji bit znuluje
End If
 
If (sensors.2)=0 Then
'pravy spodni senzor aktivni
'rozsvit prislusnou LED k senzoru, zatim jen v promenne
leds = leds & ~(1 << 0) 'led sviti, kdyz se ji bit znuluje
End If
sensors =0xFF
sensors = Call receive() 'prijmi stav cidel senzoru
If (sensors.3)=0 Then
'levy spodni senzor aktivni
'rozsvit prislusnou LED k senzoru, zatim jen v promenne
leds = leds & ~(1 << 3) 'led sviti, kdyz se ji bit znuluje
End If
If (!((sensors.0) and (sensors.1))) Then
motors = 0x77
End If
If (!(sensors.2)) Then
motors = 0xF7
End If
If (!(sensors.3)) Then
motors = 0x7F
End If
lata = sensors
call send(motors)
lata = leds
call send(motors)
 
Loop
 
Loop
End Sub