Stm32F7-Disco GPIO interrupt

Stm32F7-Disco GPIO interrupt 今回はGPIOの割り込みサンプルをやってみます.user button を押すと,LEDが点灯するというサンプルです.まずSTM32CUBEMXの設定


1.Clock && GPIO Setting
RCCのHSE2を有効にする.
最大周波数を216Mhzにする.
PI_1 をGPIO_Output
PI_11をGPIO_EXTI11

2.Interrupt setting

 PI_11の設定の
GPIO_mode : External Interrupt Mode with Risng/Falling edge trigger detection
 NVIC
EXTI line [15:10] Interrupts をcheck

3. Source 生成& edit
Src/stm32f7xx_it.c の中に次
void EXTI15_10_IRQHandler(void)
{
  HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_11);
    uint8_t status=HAL_GPIO_ReadPin(GPIOI,GPIO_PIN_11);
    if(status==1){
        HAL_GPIO_WritePin(GPIOI,GPIO_PIN_1,1);
    }
    else{
        HAL_GPIO_WritePin(GPIOI,GPIO_PIN_1,0);
    }
 

}

Src/main.c の中に次

  while (1)
  {
    HAL_Delay(2000);  /* USER CODE END WHILE */

  /* USER CODE BEGIN 3 */

  }
を追加すればよい!

 

Sponsored Links: