2019-10-05 LPC > LPCXpresso54628 > Lチカ > SDK Exampleを使う例 > Quickstart Panel | プロジェクトの作成、ビルド、デバッグ、停止まで | USER LEDsのポートとピン
OS: Ubuntu 18.04 LTS
基板: LPCXpresso54628
IDE: MCUXpresso IDE v11.0.1 [Build 2563] [2019-09-01]
概要
- 基板の初期動作としてLチカをする
- SDKにExampleがあるので、それを使う
- 自前実装には様々なAPIの使用を理解することになるため、現段階ではこれでいいとする
Quickstart Panel
プロジェクト作成、ビルド、デバッグの開始にはQuickstart Panelを使う。
Quickstart PanelはC/C++パースペクティブの場合、左下に表示される。
(パースペクティブの切替については、「2019-10-05 LPC > LPCXpresso54628 > IDE > Project Explorerがある画面に移る > Open Perspective > C/C++ 」を参照)。
手順
手順概要
- SDK exampleのインポート
- ソースを一部修正
- SWの検知をやめる
- LEDのインターバルをゆっくりにする
- ビルド
- デバッグ実行
- デバッグの停止
1. SDK exampleのインポート
`1-1 Quickstart Panelの「Import SDK example(s)...」を選択する
`1-2 Board and/or Device selection page画面にて、lpcxpresso54628を選択して「Next]を選択する
- `1-3 Import projects画面にて
- Project name prefixを指定する
- 例: 191005_2223_ledFlash (日付と日時をつけてみた)
- driver_examples > gpio > gpio_led_outputを選択する
- Nextを選択する
- Project name prefixを指定する
- `1-4 Advanced SettingsにてFinishを選択する
以上でサンプルコードが含まれるプロジェクトが作成され、gpio_led_output.cが開いた状態になる。
2. ソースを一部修正
インポートしたExampleのソース「gpio_led_output.c」には以下の二点の問題がある。
- A. SW押下処理も入ってるが、チャタリングのことを考慮してない
- B. SW押下検知処理のインターバルが短い (10msec程度?)
以下のように変更する。
- A. SW押下処理はやめる
- B. インターバルを100倍に遅くする
Aに対する変更はwhile()ループを下記のようにする。
while (1)
{
port_state = GPIO_PortRead(GPIO, APP_SW_PORT);
//if (!(port_state & (1 << APP_SW_PIN)))
//{
// PRINTF("\r\n Port state: %x\r\n", port_state);
GPIO_PortToggle(GPIO, APP_BOARD_TEST_LED_PORT, 1u << APP_BOARD_TEST_LED_PIN);
//}
delay();
}
Bに対する変更はdelay()の中身を以下のようにする(100倍のループ数にする)。
//for (i = 0; i < 100000; ++i)
for (i = 0; i < 10000000; ++i)
{
__asm("NOP"); /* delay */
}
3. ビルド
Quickstart PanelのBuildをクリックする。
4. デバッグ実行
Quickstart PanelのDebugをクリックする。
Probes discoverdと表示され、デバッグ用プローブの選択を要求される。
LPC-Link2 を使う設定をそのままにして、OKを選択する。
Confirm Perspective Switchダイアログでパースペクティブのスイッチを聞かれる場合がある。その場合、Switchを選択してもいいし、しなくてもいい。
今回は選択する、とする。
デバッグ直後はプログラムが停止状態のため、Resume All Debug Sessionsをクリックして動かす。
User LEDsのLED3が1秒?程度のインターバルで点滅する。
5. デバッグの停止
Terminate All Debug Sessionsを選択して、デバッグを停止する。
デバッグは停止するが、プログラムは動き続けるようだ。
(停止設定は将来調べることになるかもしれない)
資料 > GPIOのポートとピン番号
UM11035
LPCXpresso546x8/540xx/54S0xx Board User Manual
Rev. 2.1 — 7th January 2019
https://www.nxp.com/docs/en/user-guide/UM11035.pdf
Exampleにて使用されるポートとピン番号の説明がある。
p10
P2-2(D9), P3-3(D11) and P3-14(D12)
p10
SW2, SW3, SW4 : ISP / User buttons
IPS2 (P0-6), ISP1(P0-5), ISP0(P0-4)
p6
User LEDsの場所が基板右側として掲載されている。
Author And Source
この問題について(2019-10-05 LPC > LPCXpresso54628 > Lチカ > SDK Exampleを使う例 > Quickstart Panel | プロジェクトの作成、ビルド、デバッグ、停止まで | USER LEDsのポートとピン), 我々は、より多くの情報をここで見つけました https://qiita.com/7of9/items/44d2198d8ee2ff3c8e66著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .