練習 2:取得偏向角度

實驗目的:
 
    暸解如何取得偏向角 

 
 程式說明:
   

' 設定電子羅盤模組參數名稱

Peripheral myCps As CompassA @ 3 

'全堿變數宣告

Dim bCalFlag As Byte  '儲存羅盤校正完成旗標

Dim wAngle As Word   '儲存角度值

Dim iAngle As Integer    '儲存超出極限角度

Sub Main()  '主程式區塊

    '電子羅盤初始設定,定義前、後、左、右的對應角度值

    並存放於記憶體中

    CompassSet()

    '無窮迴圈,反覆取得與設定為基準方位差異的偏向角

    Do 

       取得與編號0的角度暫存器的角度差異值

       myCps.GetDevAngle(0,iAngle) 

       Debug CSRXY(1,1),"DevAngle : ",iAngle,CLREOL

    LOOP   

End Sub

 

Sub CompassSet()

  bCalFlag = 0

  myCps.Calibration(0)  '啟動校正模式  '條件迴圈,直到校正完成

  Do:Loop Until bCalFlag = 1

  Pause 120

  myCps.GetAngle(wAngle)    取得當前角度

  將取得角度存放於編號0的角度暫存器中

   myCps.SaveAngle(0,wAngle)

End Sub

Event myCps.CalEndEvent()

  bCalFlag = 1

End Event

 

 
補充說明: 
    
    (1) 偏向角為參考的基準角度與實際量測角度的夾角值。
          偏向角 = 參考角 - 量測角
    
    (2) myCps.SaveAngle(0,wAngle) 是將量測的角度值存放於編號0
          的角度暫存器中。
    (3) myCps.GetDevAngle(0,iAngle) 是取得與編號0的角度暫存器
         內容的偏向角。
Comments