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 */
}
を追加すればよい!