今回はLPC11u68でUARTのテストをしてみた
NXP提供のLPCOpenライブラリでのサンプルはUART0を使うものが3つ多系統を使うUARTnのものが計6個3つづつ入っている
各自以下に示す通りだ
- リングバッファを用いたUART
- ROMAPIを使用したUART割り込み
- ROMAPIを使用したUARTポーリング
ROMAPIとはLPCマイコンに入っている特殊機能でROM内にあらかじめプログラムしてあってユーザーはAPIを呼ぶだけで機能を使うことができるものだ
これが吉と出るか凶と出るかは使う人次第であろう
本家いわく(引用
ROM内にUART/I2C/SPI/ADCや割り算 APIを持ち、APIを呼び出せばこれらの機能が使えるので、コードサイズを低減できます。
とのことだ
やってみる
今回はLPCOpenサンプルのリングバッファのものでやってみることにする
NXP配布のLPCOpenサンプル内のperiph_uart_0_rbというものを使う。
サンプルの説明としては
- サンプル文字列を送信
- ESCが推されるまでひたすらコールバック
というものになっている。
コード
実行結果
aをひたすらコールバックした
キーボードから打った文字列をコールバックする間にリングバッファの内部の空きなどを監視してきちんと処理している点もいいなと思った
まとめ
今回はLPCOpenライブラリでのUARTさんぷるのいちぶをためしたわけだがはっきり言って難しい。
割り込み関連していてMbedやArduinoのように単なる送信という理解ではいけないみたいだ(当たり前)
まあ今後は各関数の返り値も確認しつつコードの書き方を学んでいけたらと思う
次回はこの続きかROMAPI関連も試してみたいと思っている。