lbed/07-LPC1343への移植
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
[[lbed]]
#contents
2013/08/11からのアクセス回数 &counter;
** PinNamesの設定 [#sdf857c2]
mbedライクなクラスライブラリlbedのLPC1343版を作ってみるこ...
ピンの配置は、秋月で購入できる
[[LPC1343評価キット>http://akizukidenshi.com/catalog/g/gM...
に合わせました。
&ref(LPC1343_pin_layout.png);
*** Wait APIの実装 [#hd508b6b]
移植ではまったのが、LPC1114と互換性のあると思っていたタイ...
LPC1343では異なることでした。
また、wait_usで使っているビジーウェイトがオプティマイズに...
することで、1週間ほど悩みました。
((最後は、オシロスコープの波形をみて、何とか動くようにな...
wait_api.cは、以下の様になりました。
#pre{{
#include <LPC13xx.h>
#include "wait_api.h"
volatile uint32_t msTicks; /* ...
/*-------------------------------------------------------...
SysTick_Handler
*-------------------------------------------------------...
void SysTick_Handler(void) {
msTicks++; /* increment counter ...
}
void wait_init() {
if (SysTick_Config(SystemCoreClock / 1000)) { /* S...
while (1); /* C...
}
}
void wait_ms(int ms) {
uint32_t curTicks;
curTicks = msTicks;
while ((msTicks - curTicks) < ms);
}
void wait_us(int us) {
volatile long i = 8*us;
while (i-- > 0)
continue;
}
}}
*** TestLEDのLED点滅で動作確認 [#oa4497bf]
手持ちのLPC1343評価キットで、[[TestLED.cpp>lbed/01-LEDチ...
((どうもデバッガで書き込むときに、一回目はエラーになりま...
&ref(LPC1343_board.png);
#pre{{
#include <cr_section_macros.h>
#include <NXP/crp.h>
// Variable to store CRP value in. Will be placed automat...
// by the linker when "Enable Code Read Protect" selected.
// See crp.h header for more information
__CRP extern const unsigned int CRP_WORD = CRP_NO_CRP ;
#include "lbed.h"
int main(void) {
wait_init();
DigitalOut myled(LED2);
while(1) {
myled = ! myled;
wait_ms(1000);
}
}
}}
** TestLCDで文字を表示 [#h271a1df]
LCDに文字を出力しようとしたら、LPC1343評価キットに付けたU...
動きませんでした。
代わりに手持ちの
[[LPC1343 QuickStart Board>http://akizukidenshi.com/catal...
を使ってLCDに出力することにしました。
((このボードは小型でブレッドボードで使うのに便利です。秋...
OrangeボードのCNとの接続は、 LPC1343 QuickStart BoardのDI...
- DIL_16:PIO1_5 CN:p24
- DIL_17:PIO1_6 CN:p26
- DIL_18:PIO1_7 CN:p27
- DIL_19:PIO0_1 CN:p28
- DIL_20:PIO2_0 CN:p29
- DIL_22:PIO1_8 CN:p30
&ref(QuickStartBoard.png);
プログラムは、以下の様にピン設定しました。
#pre{{
#include<cr_section_macros.h>
#include<NXP/crp.h>
__CRP extern const unsigned int CRP_WORD = CRP_NO_CRP ;
#include "lbed.h"
#include "TextLCD.h"
int main(void) {
int count = 0;
wait_init();
DigitalOut myled(LED2);
TextLCD lcd(P1_5, P1_6, P1_7, P0_1, P2_0, P1_8); ...
lcd.print("Hello World!");
while(1) {
lcd.locate(0, 1);
lcd.print("Count=");
lcd.print(count++);
myled = ! myled;
wait_ms(1000);
}
}
}}
** 最新のソース [#zeeb6339]
LPC1343版のソースは、Githubの以下のURLにあります。
- https://github.com/take-pwave/lbed
** コメント [#v65db5cc]
#comment_kcaptcha
終了行:
[[lbed]]
#contents
2013/08/11からのアクセス回数 &counter;
** PinNamesの設定 [#sdf857c2]
mbedライクなクラスライブラリlbedのLPC1343版を作ってみるこ...
ピンの配置は、秋月で購入できる
[[LPC1343評価キット>http://akizukidenshi.com/catalog/g/gM...
に合わせました。
&ref(LPC1343_pin_layout.png);
*** Wait APIの実装 [#hd508b6b]
移植ではまったのが、LPC1114と互換性のあると思っていたタイ...
LPC1343では異なることでした。
また、wait_usで使っているビジーウェイトがオプティマイズに...
することで、1週間ほど悩みました。
((最後は、オシロスコープの波形をみて、何とか動くようにな...
wait_api.cは、以下の様になりました。
#pre{{
#include <LPC13xx.h>
#include "wait_api.h"
volatile uint32_t msTicks; /* ...
/*-------------------------------------------------------...
SysTick_Handler
*-------------------------------------------------------...
void SysTick_Handler(void) {
msTicks++; /* increment counter ...
}
void wait_init() {
if (SysTick_Config(SystemCoreClock / 1000)) { /* S...
while (1); /* C...
}
}
void wait_ms(int ms) {
uint32_t curTicks;
curTicks = msTicks;
while ((msTicks - curTicks) < ms);
}
void wait_us(int us) {
volatile long i = 8*us;
while (i-- > 0)
continue;
}
}}
*** TestLEDのLED点滅で動作確認 [#oa4497bf]
手持ちのLPC1343評価キットで、[[TestLED.cpp>lbed/01-LEDチ...
((どうもデバッガで書き込むときに、一回目はエラーになりま...
&ref(LPC1343_board.png);
#pre{{
#include <cr_section_macros.h>
#include <NXP/crp.h>
// Variable to store CRP value in. Will be placed automat...
// by the linker when "Enable Code Read Protect" selected.
// See crp.h header for more information
__CRP extern const unsigned int CRP_WORD = CRP_NO_CRP ;
#include "lbed.h"
int main(void) {
wait_init();
DigitalOut myled(LED2);
while(1) {
myled = ! myled;
wait_ms(1000);
}
}
}}
** TestLCDで文字を表示 [#h271a1df]
LCDに文字を出力しようとしたら、LPC1343評価キットに付けたU...
動きませんでした。
代わりに手持ちの
[[LPC1343 QuickStart Board>http://akizukidenshi.com/catal...
を使ってLCDに出力することにしました。
((このボードは小型でブレッドボードで使うのに便利です。秋...
OrangeボードのCNとの接続は、 LPC1343 QuickStart BoardのDI...
- DIL_16:PIO1_5 CN:p24
- DIL_17:PIO1_6 CN:p26
- DIL_18:PIO1_7 CN:p27
- DIL_19:PIO0_1 CN:p28
- DIL_20:PIO2_0 CN:p29
- DIL_22:PIO1_8 CN:p30
&ref(QuickStartBoard.png);
プログラムは、以下の様にピン設定しました。
#pre{{
#include<cr_section_macros.h>
#include<NXP/crp.h>
__CRP extern const unsigned int CRP_WORD = CRP_NO_CRP ;
#include "lbed.h"
#include "TextLCD.h"
int main(void) {
int count = 0;
wait_init();
DigitalOut myled(LED2);
TextLCD lcd(P1_5, P1_6, P1_7, P0_1, P2_0, P1_8); ...
lcd.print("Hello World!");
while(1) {
lcd.locate(0, 1);
lcd.print("Count=");
lcd.print(count++);
myled = ! myled;
wait_ms(1000);
}
}
}}
** 最新のソース [#zeeb6339]
LPC1343版のソースは、Githubの以下のURLにあります。
- https://github.com/take-pwave/lbed
** コメント [#v65db5cc]
#comment_kcaptcha
ページ名:
SmartDoc