読者です 読者をやめる 読者になる 読者になる

ガレスタさんのDIY日記

電子回路、Web、組み込み、自作エフェクターを語るblog

LPC11u68でUART(3)

今回はNXPのUARTサンプルの3つ目であるROMAPI使用UART割り込みを試してみたいと思う。

はじめに

LPC_UART0D_API->uart_isr(uartHandle);

APIのinterrupt service routineを割り込みハンドラないで呼ぶことでROMAPIを使ったUART割り込みを行うことができる。

ユーザーマニュアル501ページに詳しい説明がある
f:id:gsmcustomeffects:20160628165240p:plain

尚、interrupt service routineの利用の際にはNVICで割り込み許可をする必要がある。ROM内APIとはいえNVIC管轄内なのでこればかりは面倒だが仕方ないw

割り込み許可の記述は以下のとおりだ。

NVIC_EnableIRQ(USART0_IRQn);

その他はポーリングサンプルとあまり変わらずエコーバックを行うものである。

まとめ

今回3つのサンプルを試してみて共通して思うのがLPCOpenを利用することにほとんどレジスタに関して考えずに作業できるということである。
ROMAPIの力もあるがコードがかなり短くなりUARTに関してはいろんな使い方を結構簡単に取得できるようになっていると感じた。

またNVICも割り込みハンドラという概念がやっと浸透してきた感じもあっていろんな割り込みを併用した記述もやってみたいと思えるようになった。
Lチカで積んでいたあの時代が夢のようだw

今度やるときはNVIC Priory記述で優先度指定もして遊んでみたいと思う