MCCでサクッと開発開始
Tools ==> Embedded ==> MPLAB Code Configuratorと辿って、MCCを起動すると下のような画面が表示されます。(<==起動に時間が掛かります)今回はホストとPIC間の通信にUARTを使い、Flash Programmingを行うので、Device ResourcesからEUASRTとMEMORY(<==下のLibraryの中にある)を選択して、Project Resourcesに持ってきました。で、Generateボタンをクリックして・・・
サクッと開発環境が構築されました。(パチパチパチ~)
あとはゴリゴリ、ゴリゴリ、コードを書き連ねて行きます。
これまでRaspiをホストにするときは、もっぱらI2Cを使ってきました。当初の構想でもI2Cを使う予定でした。ところが最新のデバイス(PIC32MK)にI2Cが搭載されていない(必要ならソフト処理でI2C通信を行う)ことが判明しました。UARTで1対Nの通信を行う(通信の始めにアドレス・バイトを送信して相手を指定する)機能を組み込み、I2Cの機能をUARTで実現しようとしています。どうやらMicrochipはI2CからUARTへの移行を進めているようです。
RaspiにはUARTも搭載されているので、I2CからUARTへの変更は可能です。調べてみると、ユーザが使えるのはRaspi-3 とZero Wはmini UART、他のモデルはPL011で、取り扱いが異なるようなのです。(詳しくはここ↓)
The Raspberry Pi UARTs - Raspberry Pi Documentation
Raspi-3はCORE周波数を250MHz固定にしないと上手く通信できない(通信速度が変化してしまう)とか、enable-uartの設定が必要だとか・・・
モデルによって取り扱いが異なるのはユーザの混乱を招きそうなので、『USB-シリアルを採用』することにしました。