練習 1 :偵測距離

實驗目的:
 
    透過事件的方式取得偵測距離並顯示於終端視窗,暸解事件的使用
    方式 

程式說明:

 

'模組名稱、代碼宣告

Peripheral mySon As SonarA @ 1 

' 設定超音波模組參數名稱

'全堿變數宣告

Dim bSonStatus As Byte   '儲存超音波偵測狀況

Dim wDistance As Word   '儲存偵測距離值

Sub Main()  '主程式區塊

  SonarSet() '超音波相關設定

  Do:LOOP '無窮迴圈

End Sub

Sub SonarSet() 超音波相關設定

   mySon.EnableRangingFinishEvent() 啟動偵測完成事件

   mySon.RepeatRanging()          '啟動重複偵測

End Sub

 

Event mySon.RangingFinishEvent()    

      '取得偵測狀態與距離

      bSonStatus = mySon.GetDistance(1,wDistance)

    

      若偵測值為有效,即顯示於終端視窗

      If bSonStatus = 1 Then 

          顯示偵測結果

          Debug CSRXY(1,1),Distance = ”,wDistance, CLREOL

      End If 

End Event

 

 
補充說明:
 
    事件(Event)相當於組合語言裡的中斷,當事件的條件達成時則自動停止目前程式的運作跳至相關事件的副程式中,待處理完成後返回未完成的程式繼續執行。
Comments