2020年5月16日土曜日

LPC812:固定機能 PIN に別な機能を割り当てる方法

 タイトルの日本語が少しおかしいが、半日ほど試行錯誤してやっとやり方を見つけたので。

 SWM_SetFixedPinSelect() を使えば OK

MCUXpresso でサンプルプログラム lpcxpresso812max_usart_transfer_ring_buffer を動かして、開発環境に問題がないことを確認。それから USART と pin を変えて動かそうとすると動かない。

MCUXpresso  Conifg Tools が吐いたコードだから間違うはずがないのだが...、と調べていくと、送信割り込みは発生していた。ということは、USART 関連の設定はうまくいっているはず。なのになぜ...。

あれこれやっているうちに、古いサンプルプログラム periph_uart_rom_int を見ていると、Chip_SWM_DisableFixedPin() なる関数を発見。これに該当する関数が MCUXpresso  Conifg Tools が吐いたコードになかったので、そのあたりのソースを追っていて SWM_SetFixedPinSelect() を発見。

----
 と思ったら、サンプルプログラムを使う限りは SWM_SetFixedPinSelect() は不要っぽい。動かなかった理由は LPCXpressoBoard OM13053 マイコンボードの PIO0_8, PIO0_9 を使おうとしたこと。この二つのピンは基板上のクリスタルに接続されていて、外部端子で使うには、はんだ付けジャンパー SJ2, SJ3 の変更が必要。



0 件のコメント:

コメントを投稿