LPC810でLチカ(までしかできんかった) | 遥かなるひよこ道
LPC810と新たにLPCXpresso7でLチカ
LPCマイコンは久々の登場

書き込みはUSBシリアルを使うことになります
シリアルにはこれを使いましたhttp://akizukidenshi.com/catalog/g/gK-06693/

プログラムの前に書き込みの方法をメモ
●接続
 FTDI(TX) <-> LPC810(8)
 FTDI(RX) <-> LPC810(2)
あと、電源は3.3Vです。

という感じ

●書き込み
1.LPC810の5ピンをGNDに接続した状態で電源を入れるとISPモードで立ち上がる
(プログラムが動作せずシリアルで書き込めるモード)

2.hexファイルを出力
LPCXpresso上でプロジェクトを右クリックし[Properties] [C/C++ Build] [Settings] [Build steps] [Post-build steps]に下記を追加
arm-none-eabi-objcopy -O ihex ${BuildArtifactFileName} ${BuildArtifactFileBaseName}.hex
ビルド時にhexをついでに吐くようになります

3.FlashMagicで書き込み



●再起動でプログラムが走る

LPC810もFTDボードも初期でなかったので概念図的な感じ
上のスライドスイッチは電源のON・OFF用
下のタクトスイッチはISP起動用

Lちか
-----------------------------------------------------

#ifdef __USE_CMSIS

#include "LPC8xx.h"

#endif


#include "lpc8xx_clkconfig.h"

#include "lpc8xx_gpio.h"


int main (void) {

uint32_t i;

SystemCoreClockUpdate();


LPC_SYSCON->SYSAHBCLKCTRL |= (1<<6);


GPIOSetDir( 0, 0, 1 );

while (1)   

{

 GPIOSetBitValue( 0, 0, 1 );

 for (i = 0; i < 100000; i++);

 GPIOSetBitValue( 0, 0, 0 );

 for (i = 0; i < 100000; i++);

}

}

-----------------------------------------------------

SystemCoreClock
クロックの設定をします。デフォルトでは内部オシレータ12MHz動作でします

LPC_SYSCON->SYSAHBCLKCTRL |= (1<<6);
GPIOブロックへのクロック供給を有効化します
その他のブロックをしようする場合はユーザーマニュアルP.37が参考になります
("使用"が"しよう"と打っても出ないんじゃぼけ!)


次回はI2Cをやります