S32K144の開発中に、以下の問題に遭遇しました。
初期化タイマーの割り込みオーバーフロー期間は1秒に設定する必要があります。
前提として、私のクロック設定は8MHzです。
しかし、時計を20Mの時計に変えた後…
タイマーのオーバーフロー期間が1秒ではなく、400ミリ秒になっていることに気づきました。
しかし、タイマーのクロック設定は依然として8MHzの内部クロックに設定されたままです。
PCC->PCCn[PCC_FTM1_INDEX] |= PCC_PCCn_PCS(0x01) /* クロックソース=1、8 MHz SIRCDIV1_CLK */
| PCC_PCCn_CGC_MASK; /* FTMレジスタのクロックを有効にする */
この問題の原因となっている設定上の問題が何なのか、私には分かりません。
ハイ
次の S32K1 RM の表 27-9 を参照してください。peripheral module clocking (continued),FTM具体選択哪个时钟源需要查看FTMn_SC[CLKS]和29.6.17 PCC FTM1 Register (PCC_FTM1)的PCS位。
プロセッサ エキスパートがコンフィギュレーションを生成し、ベアメタル モードでレジスタを直接操作しました。SDK サイトを使用した API が原因でベアメタル プログラムがクラッシュしたかどうかはわかりません。
さらに、ProcessorExpert 搭載 SDK の API を使用する場合は、ベアメタルの直接操作レジスタの構築リファレンス S32K144_Project_FTM サンプル ftm_periodic_interrupt_s32k144 を参照してください。
よろしくお願いいたします
ロビン