Ag1171sとNUCLEO-L476RGは次のように接続しています。Vin/Vouには直流カット用のコンデンサがつながっていますが、この図では省略しています。
まずはSHK信号によるフッキングの検出処理から作業開始。PA0はEXTI0に設定して割り込みで検出することにしました。データシートにも明記されていますが、チャタリング処理を施す必要があります。実際に動作を確認してみたところ、写真の数年前に980円で購入した電話機ではオフフック時に10回程度、オフフック時に数回のチャタリングが発生していました。そこでデータシートにとおり10msのディレイをおいてフックイベントの判断してみたのですが、それでもまだチャタることがあるので、15ms待つことに。
チャタリングが除去されて、正しくイベント検出できるようになりました。
まずはSHK信号によるフッキングの検出処理から作業開始。PA0はEXTI0に設定して割り込みで検出することにしました。データシートにも明記されていますが、チャタリング処理を施す必要があります。実際に動作を確認してみたところ、写真の数年前に980円で購入した電話機ではオフフック時に10回程度、オフフック時に数回のチャタリングが発生していました。そこでデータシートにとおり10msのディレイをおいてフックイベントの判断してみたのですが、それでもまだチャタることがあるので、15ms待つことに。
チャタリングが除去されて、正しくイベント検出できるようになりました。