外部割り込みの概要
GPIOx.0 は EXTI0 にマッピングされます
GPIOx.1 は EXTI1 にマッピングされます
…
GPIOx.15 は EXTI15 にマッピングされます
外部ミッドエンド ユーザー向けの共通ライブラリ関数:
① void GPIO_EXTILineConfig (uint8_t GPIO_PortSource , uint8_t GPIO_PinSource );
// IOポートと割り込みライン間のマッピング関係を設定します
exp: GPIO_EXTILineConfig (GPIO_PortSourceGPIOE,GPIO_PinSource2);
② void EXTI_Init ( EXTI_InitTypeDef * EXTI_InitStruct );
//割り込みライン: トリガーメソッドなどを初期化します。
③ ITStatus EXTI_GetITStatus (uint32_t EXTI_Line );
//割り込みラインの割り込みステータスとそれが発生したかどうかを判断します
④ void EXTI_ClearITPendingBit (uint32_t EXTI_Line );
//割り込みラインの割り込みフラグビットをクリアします。
typedef 構造体
{
uint32_t EXTI_Line; //設定する割り込みラインを指定
EXTIMode_TypeDef EXTI_Mode; //モード: イベント OR 割り込み
EXTITrigger_TypeDef EXTI_Trigger;// トリガーモード: 立ち上がりエッジ/立ち下がりエッジ/ダブルエッジトリガー
FunctionalState EXTI_LineCmd; //有効または無効
EXIT_InitTypeDef;
EXTI_InitStructure.EXTI_Line=EXTI_Line2;
EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;
EXTI_InitStructure.EXTI_LineCmd = 有効;
EXTI_Init(&EXTI_InitStructure);
外部割り込みの一般的な構成手順は次のとおりです。
プログラムをボードにダウンロードするパフォーマンスは次のとおりです。KEY0 ボタンを押すと、以下に示すようにマーキーが 1 回切り替わります。