DIY Wave Lab.

空いた時間でコツコツと。空かなくてもつくる。

お試しLPC810

「Lチカだって半分は消灯してるんだもの。」

(写真では判別できませんが、きちんと1s周期で点滅しておりました。)

f:id:yoroheihei:20151005235124j:plain

  前回の更新からだいぶ時間が経ったが、まったくサボっていた訳ではなく、記事にするのが面倒なだけだったりする。実はVCAとかVCFは完成してるので、それはいずれ記事にできればいいなと。

 本日は再びマイコン試用記である。今回もLチカしかしていないが、とりあえずチャレンジ。LPC810は32bitのCortex-0アーキテクチャを採用しておきながらIOに乏しいというなんとも残念な仕様のマイコンとして有名である。

 しかし、我がDIY Wave Labにおいては優秀なオシレータになる見込みがまだあるためにネット上の評判にも関わらず果敢に活躍の場を与える次第である。

 

さて、数ヶ月前に投稿したこの記事

LPC1114の試用ではプログラミング環境はmbedを使っていたのだが、

コンパイル(ダウンロード)→bin2hex→書き込み(flashmagic)

という流れであったが、いかんせんバイナリ/HEX変換が煩わしい。というわけで今回はNXPの公式IDEであるLPCXpressoを使ってみた。これにより

コンパイル→書き込み(flashmagic)

という何ともすっきりとしたフローになる。

また、書き込みまでの道のりとしては以下のサイトを参考にした。

http://mits-whisper.info/tagged/LPC810/chrono

 

また、初めは"Blinky"という標準のLチカプログラムで試してみた。LPC810には"Switch Matrix"なるツールが用意してあり、IOピンをある程度自由に設定できる仕様となっている。以下がその使用風景である。ここからswm.cに自動的にコードが生成されるのでそれをmain.cに貼付けるとピン設定が終わっているというスグレモノである。

f:id:yoroheihei:20151006001643p:plain

 注意すべきはピン設定をきちんと行わないとプログラムを正確に書いたところで動作しないという点である。コンパイルの前にこちらの確認はしっかり行いたいものである。

 

ところで、現状では12MHz動作であるが、16bit,分周1のPWMを発生すると計算上183Hzのサンプリングレートとなってしまう。なんじゃそら。I2CのDACを使うのか?1つ80円のコスパはどこへいく?

 

やっぱりお前、ダメなやつだなぁ(嬉)