参考: 定番!ARMキット&PIC用Cプログラムでいきなりマイコン制御[DVD-ROM付き] (マイコン活用シリーズ), pp.28-36
以降共通して使用するためのフレームワークを作成する。
1. MPLAB X IDE を起動し、メニューバーから [File] > [New Project] の順に選択する。
2. [New Project] ウィンドウが開くので、[Categories] ペインの [Microchip Embedded] を選択し、[Projects] ペインの [Standalone Project] を選択し、[Next] をクリックする。
3. [Device] ドロップダウンボックスで [PIC16F1798] を選択してから [Next] をクリックする。
4. [Supported Debug Header] は [None] のまま [Next] をクリックする。
5. [PICkit3] を選択して [Next] をクリックする。
6. [XC8 (v1.41) ~] を選択して [Next] をクリックする。
7. [Project Name] フィールドに「framework」と入力する。必要なら [Project Location] も変更する。[Encoding] ドロップダウンボックスから [Shif-JIS] を選択する。[Finish]をクリックする。
8. メニューバーから [Tools] > [Embedded] > [MPLABⓇ Code Configurator v3: Open/Close] の順に選択する。
9. [Package] ドロップダウンボックスから [PDIP40] を選択する。
10. 左側にある [Device Resources] ペインで [ADC] [CCP1] [EUSART] [MSSP] [TMR0] [TMR1] [TMR2] の 7 つのペリフェラルをそれぞれダブルクリックする。
11. すると、今選択した 7 つのペリフェラルが、左側にある [Project Resources] ペインに追加される。
12. System を下のように設定する。
13. ADC を下のように設定する。
下の図の 2 つの鍵マークをクリックしてアンロック状態 () からロック状態 () にする。
すると 右上の図が下のようになる。
さらに下のように設定する。
14. EUSART を下のように設定する。
TX ピン、RX ピンが自動的に割り当てられる。
15. MSSP を下のように設定する。
16. Timer1 を下のように設定する。
17. Timer0 を下のように設定する。
18. PWM を設定する。
19. GPIO を下のように設定する。
ピンアサインは最終的に下のようになる。
20. [Generate] ボタンを押してソースコードを生成する。
PIC16F1789 & MPUトレーナー 1 / 開発環境を整える
参考: 定番!ARMキット&PIC用Cプログラムでいきなりマイコン制御[DVD-ROM付き] (マイコン活用シリーズ), pp.19-20
下の手順に従って、「統合開発環境 MPLAB X IDE」「C コンパイラ XC8」「コンフィグレーション用ツール MPLAB Code Configurator」の順にインストールする。
1. MPLAB X IDE | Microchip Technology に移動し、Windows (x86/x64) 用の MPLAB® X IDE v3.55 をダウンロードする。
2. ダウンロードした MPLABX-v3.55-windows-installer.exe をダブルクリックしてインストールする。
3. 下の画面が表示されたら一番上のチェックボックスだけオンにして [Finish] をクリックする。
4. MPLAB- XC Compilers | Microchip Technology が開くので Windows (x86/x64) 用の MPLAB® XC8 Compiler v1.41 をダウンロードする。
5. ダウンロードした xc8-v1.41-full-install-windows-installer.exe をダブルクリックしてインストールする。
6. XC8 のインストールが済んだら MPLAB X IDE v3.55 を起動する。
7. メニューバーから [Tools] > [Plugins] の順に選択し、[MPLAB Code Configurator] を選択してインストールする。
TI-Nspire & Lua / スクリプティングのヒント / 自作の描画函数も出来合いの描画函数と同じように実行できるようにする
参考: http://adriweb.free.fr/t3/2013/Powerpoint_Advanced_TI-Nspire_Lua_Programming.pptx, p.25
--[[普通の方法 function drawCircle(centerX, centerY, radius, gc) -- 中心座標で円を描くための自作函数 local diameter = radius + radius gc:drawArc(centerX - radius, centerY - radius, diameter, diameter, 0, 360) end function fillCircle(centerX, centerY, radius, gc) -- 中心座標で円を塗りつぶすための自作函数 local diameter = radius + radius gc:fillArc(centerX - radius, centerY - radius, diameter, diameter, 0, 360) end function on.paint(gc) -- 出来合いの描画函数と実行方法が揃わない。 drawCircle(10,10,10,gc) fillCircle(50,50,10,gc) gc:drawRect(20,20,20,20) gc:fillRect(120,120,20,20) end --]] ---[[特殊な方法 function drawCircle(gc, centerX, centerY, radius) -- 中心座標で円を描くための自作函数 local diameter = radius + radius gc:drawArc(centerX - radius, centerY - radius, diameter, diameter, 0, 360) end function fillCircle(gc, centerX, centerY, radius) -- 中心座標で円を塗りつぶすための自作函数 local diameter = radius + radius gc:fillArc(centerX - radius, centerY - radius, diameter, diameter, 0, 360) end platform.withGC(getmetatable)["drawCircle"] = drawCircle platform.withGC(getmetatable)["fillCircle"] = fillCircle function on.paint(gc) -- 出来合いの描画函数と同じように実行できる。 gc:drawCircle(10,10,10) gc:fillCircle(50,50,10) gc:drawRect(20,20,20,20) gc:fillRect(120,120,20,20) end --]] --[[だから自作描画函数は最初から次のように定義しておけば見づらくとも手間が省ける。 platform.withGC(getmetatable)["drawCircle"] = function(gc, centerX, centerY, radius) local diameter = radius + radius gc:drawArc(centerX - radius, centerY - radius, diameter, diameter, 0, 360) end platform.withGC(getmetatable)["fillCircle"] = function(gc, centerX, centerY, radius) local diameter = radius + radius gc:fillArc(centerX - radius, centerY - radius, diameter, diameter, 0, 360) end --]]