2021年4月28日水曜日

HAL STM32 GPIO EDGE検出 を割込みを使わずに行う方法。

 こんにちは

やましょうです。

 

なんかなんでも割り込みって風潮はよくない。

割込みは最小限度の処理であとはメインで処理すべきと思っているやましょうです。 


STM32に限らず、ポートの変化でSPIで取込みとかよくある話なんですけど。

そのポートの変化検出で割込みにする必要ないんですよね。。。

通知だけですからね。。。ってことで割込みにせずSTM32で検知する方法で。

STM32 CUBE MXでのNVICでポートの割込みのチェックボックスをオフします。

その後code gane!

あとはメインで、 EXTI ペンディングレジスタ(EXTI_PR)を見るだけですね。


例:

    if(EXTI->PR & EXTI_PR_PR1)

    {    /*エッジ検出    */

            EXTI->PR |= EXTI_PR_PR1;      // 検出結果リセット

           /* エッジ時の処理。。。。*

 

 

以上

やましょうでした。

 

0 件のコメント:

コメントを投稿