こんにちは 、
S32K324 で I2C マスターをテストしようとしていますが、動作しません。
実際には、I2C マスターにコネクテッドされた I2C スレーブはありませんが、PTD13 (LPI2C_SDA) または PTD14 (LPI2C_SCL) に遷移は見られず、2 つのピンは常に HIGH です。
添付ファイルのような開始条件が表示されることを期待しています。
そこにプロジェクトが添付されています。
よろしく、フランチェスコ。
こんにちは@francescovicoさん、
私の側では動作します - あなたのコードをテストしました。
あなたの側で機能しない場合は、何が機能しないのかを詳しく説明してください。
転送が呼び出されるときに DBGEN ビットが設定されていることを確認します。
CM7_1 を実行してテストしましたか?
外部プルアップ抵抗を使用していますか?
よろしくお願いいたします。
ダニエル
こんにちは、ダニエル。
まだうまく動作しません。
よろしく、フランチェスコ。
こんにちは@francescovico 、
Init 関数の後に有効にします。
それ以外の場合、Init 関数はビットをクリアします。
よろしくお願いいたします。
ダニエル
こんにちは、ダニエル。
申し訳ありませんが、
IP_LPI2C_0->MCR |= LPI2C_MCR_DBGEN_MASK;
I2Cはまだ動作していません。
プロジェクトを添付しました。
よろしく、フランチェスコ。
こんにちは@francescovicoさん、
CM7_1 が停止すると、MCU はデバッグ モードに入ります。
LPI2C が引き続き機能するようにするには、LPI2C_MCR の DBGEN ビットを設定してデバッグ中の操作を許可するか、CM7_1 を実行したままにします。
BR、ダニエル
こんにちは、ダニエル。
ありがとうございます。割り込みを初期化するのを忘れていたのは事実です。
また、割り込みが有効になっていると、I2C は動作しません。
割り込みが有効になっているプロジェクトが添付されています。
他に何か提案はありますか?
よろしくお願いします。
こんにちは、フランチェスコさん。
コードをテストしていませんが、LPI2C 割り込みが有効になっていないことがわかります。
LPI2C0_Master_Slave_IRQHandler を使用して IntCtrl_Ip ドライバを追加します。
そして、コード内でドライバを初期化します。
よろしくお願いいたします。
ダニエル