火曜日, 10月 15, 2019

PIC Curiosityで事始め

いろいろ環境が違うと結果が異なるかもしれないので,書き出しておく。

MacBook 12-inch 2017 macOS Mojave 10.14.6

MPLAB X IDE v5.25 
Curiosity 製品は DM164137 

上記ページにある,Demo Code から始めることにする。

Demo Code にある PIC16F1619_Cur_v355.X MPLAB で開いてビルド。エラーが出ている...

根が深そうなので,さっくり諦める。新規プロジェクト作成。

Project Option 
 

Low Voltage ProgrammingONにしろ,と書いてあるが,そこはONになっていた。


MCCで設定する。まずはSystem Module 動作周波数はとりあえず最低の500kHz


ADCモジュール こちらは最速に。普通にVDD基準


ピン定義
 

main.c のメインループに以下を追加。動いた!
POT1を回すと,それに合わせてLED位置が移動。adc.hやら,pin_manager.h をみると,書き方が書いてある。

    unsigned int POT1_value = 0;

    ADC_SelectChannel(RC0_POT1);
    ADC_StartConversion();
   
    RA5_D4_SetLow();
    RA1_D5_SetLow();
    RA2_D6_SetLow();
    RC5_D7_SetLow();
       
    while (1) {
        if(ADC_IsConversionDone())
            {
                POT1_value = ADC_GetConversion(RC0_POT1)>>14;
                ADC_StartConversion();
            }

        switch(POT1_value) {
            case 0:
                RA5_D4_SetHigh();
                RA1_D5_SetLow();
                RA2_D6_SetLow();
                RC5_D7_SetLow();
                break;
            case 1:
                RA5_D4_SetLow();
                RA1_D5_SetHigh();
                RA2_D6_SetLow();
                RC5_D7_SetLow();
                break;
            case 2:
                RA5_D4_SetLow();
                RA1_D5_SetLow();
                RA2_D6_SetHigh();
                RC5_D7_SetLow();
                break;
            case 3:
                RA5_D4_SetLow();
                RA1_D5_SetLow();
                RA2_D6_SetLow();
                RC5_D7_SetHigh();
                break;
        }

    }


Curiosityは,microUSBから給電。PICへは,そこから5V直接か,3.3Vに変換してか,外部から動く。
5V/3.3Vどちらでも動くことは確認した。電源を接続して放置すると,通常起動していた。
あらかじめ入っていたサンプルプログラムがすぐ動くけど,バックアップし忘れた... ま,いいか。

最初,MPLABCuriosityとの通信がうまくいかなくて,プログラムの書き込み時に止まっていた。手持ちのUSBケーブルではだめのようで,Curisity付属のケーブルを使ったらうまくいった。電源だけは入るので,発見が遅くなってしまった。

写真は気が向いたら撮ろう。

0 件のコメント: