LPC810みっかぼ自作サンプル集(GPIO、SCTからI2C、SPI通信まで)
3ヶ月間コツコツ作ってきたLPC810用のサンプルコードをまとめます。
LPC810の機能を試したいけれど、LPC Expressoなどに付いてるサンプルは処理が隠蔽されててよくわからない、という人の役には立つと思っています。
- 特長
以下、サンプルの目次です。
共通の準備
- 共通の準備
- 以降のサンプルコードを動かす前提となる開発環境の説明。
GPIO
- GPIO出力
- pinの出力のHIGH,LOWを切り替え。
- Pin interrupts
- pin入力の変化で割り込み発生。
- Pattern match engine
- 複数のpin入力のパターンで割り込み発生。
SCTimer(State Configuration timer)
- SCTimer/PWM (SCT)について
- SCTとは何か、できることのまとめ。
- SCTの小さい例(LED点滅)
- SCTを最低限使ってみる例。
- SCTの例その2(音を鳴らす)
- SCTの機能を組み合わせて複雑なことをしてみた例。
- PWMとして使い、音を鳴らす
- ボタン押下で状態変化し、音をon/offする
- 0.5秒毎に状態変化し、音の周波数を変える
- SCTの機能を組み合わせて複雑なことをしてみた例。
- SCTの例その3(超音波距離センサ)
- SCTのcapture機能を使ってみた例。超音波距離センサから信号が戻るタイミングをcaptureして距離を測る。
省電力モード
- deep power-downモード(wake up pinで復帰)
- 消費電力を最小限に抑えるdeep power-downモードに入って、そこからwake up pinの入力で復帰する例。
- deep power-downモード(Self wake-up timerで復帰)
- deep power-downモードから一定時間毎に復帰する例。
アナログコンパレータ
- アナログコンパレータ(比較結果をそのまま出力)
- 2つの入力pinの電圧を比較する。
- アナログコンパレータ(電圧ラダーの例)
- 1つの入力pinの電圧を、内部で設定する電圧(GNDからVddの間の32段階)と比較する。
I2C通信
- I2C-bus ROM API、I2C slaveとして動作させる(LPC810 2個使ってmaster-slave通信)
- I2C-bus ROM APIを利用し、I2C slaveとしてデータを受信する実験。master,slaveともにLPC810を使うので、LPC810が2個あれば試せる。
- I2C-bus ROM API、slave送信->master受信
- 同じく、I2C slaveとしてデータを送信(masterで受信)する実験。
- I2C-bus ROM API、同じLPC810でI2C slaveとmasterの両機能を使う
- 1つのLPC810を、master/slaveの両方として機能させる実験。