|
本帖最後由 jack800417 於 2011-10-14 01:42 編輯
我想要寫一個計數的程式
是否為這樣寫法
Peripheral myMotor As MR2x30A @ 0
Peripheral mySonar1 As SonarA @ 1
Peripheral mySonar2 As SonarA @ 2
Peripheral mySonar3 As SonarA @ 3
Dim Status1,Status2,Status3 As Byte '儲存取得的偵測結果狀態
Dim Distance1 ,Distance2,Distance3 As Word '儲存取得的偵測結果
Sub MAIN()
integer i ,a <-----宣告A為整數((還是這兩個整數值可以和Status1,Distance1一起宣告在一起?變成
Dim Status1,Status2,Status3 ,i,aAs Byte '儲存取得的偵測結果狀態
Dim Distance1 ,Distance2,Distance3,i,a As Word '儲存取得的偵測結果))
mySonar1.SetFloorLevel(0) '設定離地高度為大於5cm
mySonar1.SetRangingTime(10) '設定等待接收時間為63ms
mySonar1.SetRepeatTime(20) '設定重複偵測週期為200ms
mySonar1.SetRepeatCount(0) '設定重複偵測次數為 0 (無限次)
mySonar1.SetBurstPower(10) '設定發射強度等級為 10
.....
mySonar1.RepeatRanging() '執行重復偵測
.....
mySonar1.EnableRangingFinishEvent() '啟動發射接收完成事件
.....
DO
If Distance1 =22 Then
MyMotor.ForwardAB(400,410)
PAUSE 500
ElseIf Distance2 <22 Then
MyMotor.ForwardAB(400,430)
PAUSE 500
ElseIf Distance1 >22
MyMotor.ForwardAB(430,400)
End If
if Distance3= 20 Then
for(i=3;i<7:i++)<--i初始值為3到7之間,i+1 BASIC 好像不能用i++...一直錯在這個地方
a= i%2 <----------除2
if (a==0) then<------偶數
S_Name()
ElseIf (a==1) then
S_Name1()
End If
|
|