始めはLEDぴかぴか

 Timerを使って始めのプロジェクト

  • MPLAB X IDEを立ち上げ、メニューのFile->NewProjectをクリック
  • NewProjectのダイアログでそのままNextをクリック
  • Name and LocationでProject Nameを指定(LED_Pikaにしました)して、Target DeviceにPIC32MX120F032Bを指定してFinish
  • Harmony Configuratorが立ち上がります。
  • Pin Settingsタブを選択してRA0ピンのDirectionとModeをクリックして出力ポートに設定します。LEDをピカピカするポートです。
  • Optionsタブを選択してTimer1のConfigを設定します。赤線部分を変更します。Timer機能を使って0.2秒間隔でインタラプトを発生させて、LEDをON・OFFします。 
    TimerのソースClockの周波数はデフォルトで48MHzなので、256のプリスケーラで分周すると約5.33μsでカウントUPします。0.2s間隔でインタラプトを発生させるには、0.2sを5.33E-6sで割ると37500なのでTimerPeriodをこの値にします。
  • これでGanerateCodeをクリックするとコードが自動作成されます。
  • 途中、保存確認でSaveし、Genarateします。
  • たくさんファイルが出来ますが、このうち、app.c と system_interrupt.c を編集します。
  • app.cの編集はAPP_Tasks(void)に次の1行追加します。
    DRV_TMR0_Start();
    この関数でタイマーがスタートします。

    このAPP_Tasks()はmainループで呼ばれる関数で、初期化後にぐるぐる永久に呼ばれる関数です。case APP_STATE_INIT:の部分はメインループの最初の1回だけ実行されますので、ここにタイマーをスタートする関数を書きます。
  • system_interrupt.cの編集は、以下の様にTimerインタラプトで呼ばれる関数にLEDのON・OFFのコードを追記します。

    わかりやすく、ポートRA0が0なら1に、そうでなければ0にします。この関数が0.2秒ごとに呼ばれてLEDがON・OFFします。
  • ツールボックスのBuildボタンを押してBuildします。

    エラーがなければOutputにBUILD SUCCESSFULと表示されます。
  • 次回、ブレッドボードに部品を組んで実際に動かします。