Hi,
FRDM-MCXA156 と MCUXpresso IDE v24.12 を使用しています
仕事がLPUART1できません。
LPUART0を使用するサンプルfrdmmcxa156_lpuart_edma_transferをインポートし、不要なコードをすべて削除するように簡略化しました。ファイルlpuart_edma_transfer.cのみ変更しました。LPUART0を初期化し、文字「A」を書き込み、ステータスフラグを読み取るようになりました。
次にLPUART0関連するすべての参照をLPUART1関連に変更しました。LPUART0バージョンとLPUART1バージョンの両方を以下に添付します。
LPUART0バージョンを実行すると、 'A'が送信され、ステータスフラグは00c000c0です。
LPUART1バージョンを実行すると、 'A'は送信されず、ステータスフラグは次のとおりです00000040
おそらく、LPUART1バージョンからレジスタの初期化が欠落しているのでしょうが、それが何であるかはわかりません。
BR,
jukka
OK、問題を見つけました。時計をLPUART1に取り付けなければなりません。
これらの行が欠落していました
CLOCK_SetClockDiv(kCLOCK_DivLPUART1, 1u);
CLOCK_AttachClk(kFRO12M_to_LPUART1);元の例では、BOARD_InitDebugConsole() にありました。
LPUARTレジスタは、whileループで実行が中断されるとダンプします
LPUART0
0x4009F000 04040003 00000202 00000000 00000000 ................
0x4009F010 19000004 00C00000 000C0000 00001000 ......À.........
0x4009F020 00000000 00000000 00C10099 00000000 ..........Á.....
0x4009F030 00001000 ??????00 ???????? ???????? ....????????????LPUART1
0x400A0000 04040003 00000202 00000000 00000000 ................
0x400A0010 19000004 00000000 000C0000 00001000 ................
0x400A0020 00000000 00000000 00410099 00000100 ..........A.....
0x400A0030 00001000 ??????00 ???????? ???????? ....????????????おそらく、一部のクロック初期化が欠落しています???