1. 程式人生 > >[HAL庫學習之路]4.外部中斷

[HAL庫學習之路]4.外部中斷

記錄自己的STM32的HAL庫的學習之路,不定期更新…

一、Pinout

這裡寫圖片描述

二、Clock Configuration

這裡寫圖片描述

三、Configuration

這裡寫圖片描述
這裡寫圖片描述

四、Generate Code

這裡寫圖片描述

程式碼
注意:通過STM32CubeMx生成的程式碼,預設是下降沿觸發,修改MX_GPIO_Init()中的Pin腳模式可修改觸發模式

int main(void)
{

  /* USER CODE BEGIN 1 */

  /* USER CODE END 1 */

  /* MCU Configuration----------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */ HAL_Init(); /* USER CODE BEGIN Init */ /* USER CODE END Init */ /* Configure the system clock */ SystemClock_Config(); /* USER CODE BEGIN SysInit */ /* USER CODE END SysInit */ /* Initialize all configured peripherals */
MX_GPIO_Init(); /* USER CODE BEGIN 2 */ /* USER CODE END 2 */ /* Infinite loop */ /* USER CODE BEGIN WHILE */ while (1) { /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ } /* USER CODE END 3 */ }

注意:需要回調時使用者應在自己的檔案中重寫

void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{
    static uint8_t flag = 1
; HAL_Delay(100); if(flag) HAL_GPIO_WritePin(GPIOF,GPIO_PIN_9,GPIO_PIN_RESET); else HAL_GPIO_WritePin(GPIOF,GPIO_PIN_9,GPIO_PIN_SET); flag = !flag; }