こんにちは、
FXOS8700CQを、方向が変わるたびにピン1で割り込みをかけるように設定しました。ピン1で割り込みを受信していますが、デバウンスカウンタ(PL_count)が減分されないため、一度設定された割り込みフラグがクリアされません。問題を調べてもらえますか。NXPに記載されているすべての設定を行いました。
アプリケーションノート AN4068。
コードの構成部分は次のとおりです。
割り込みサービス ルーチンは次のとおりです。
問題は、ISR に入り、PL ステータスと割り込みソース レジスタを読み取ったものの、その後デバウンス カウンターが減少しないことです。
この問題を調べてください。
お客様 、
カウンターをクリアするためにdbcntmビットを1に設定してみました
関心の条件が有効でなくなった場合。まだ割り込みビット
方向が元に戻っても0にリセットされない
位置。
この問題を調べていただければ幸いです。
よろしくお願いします。
ナマン・シャルマ
こんにちは、ナマンさん。
デバウンス カウンタの動作は、PL_CFG レジスタの dbcntm ビットを使用して設定できます。
INT_SOURCE レジスタの src_lndprt 割り込みステータス ビットをクリアし、その結果 INT1 ピンをデアサートするには、正しく実行しているとおりに PL_STATUS レジスタを読み取る必要があります。
ただし、MCU の特定のビットに論理 1 を書き込むことによって、ISR で IRQ を確認することも必要です。これを行わないと、MCU の割り込みフラグがアクティブのままになり、FXOS8700CQ からそれ以上の P/L 割り込みを受信できなくなります。
お役に立てれば幸いです。
よろしくお願いいたします。
トーマス