Previous: 9.1.4. NVICの設定 |
Up: 9.1. EXTI割込み(ライン0-4) |
Next: 9.2. EXTI割込み(ライン5-15) |
メインルーチンの設定が終わったら、割込みハンドラを設定しましょう。
void EXTI0_IRQHandler(void) {
? /* Clear the Key Button EXTI line pending bit */ ? EXTI_ClearITPendingBit(EXTI_Line0);
? // toggle on-board led ? if(GPIO_ReadOutputDataBit(OB_LED_PORT, OB_LED_PIN)) ??? { ????? GPIO_ResetBits(OB_LED_PORT, OB_LED_PIN); ??? } ? else ??? { ????? GPIO_SetBits(OB_LED_PORT, OB_LED_PIN); ??? } } |
EXTI特有の設定項目は特にありませんので、割込みペンディングビットをクリアして、行いたい処理を記述します。
割込みペンディングビットをクリアするには、EXTI_ClearITPendingBit関数(ライブラリ 15?4)を使用します。
ライブラリ 15?4 EXTI_ClearITPendingBit関数
関数プロトタイプ |
void EXTI_ClearITPendingBit(uint32_t EXTI_Line) |
|
動作 |
EXTI割込みの割込みペンディングビットをクリアします。 |
|
引数 |
EXTI_Line |
クリアする対象のEXTIラインをEXTI_Linexの組み合わせで指定します。xには0から19までの数値が入ります。 |
戻り値 |
なし |
Previous: 9.1.4. NVICの設定 |
Up: 9.1. EXTI割込み(ライン0-4) |
Next: 9.2. EXTI割込み(ライン5-15) |