[STM32F4] STM32F407配置外部中断

[复制链接]
1185|0
 楼主| wangtaohui 发表于 2023-5-28 00:46 | 显示全部楼层 |阅读模式
今天,配置STM32F407的PA0为外部中断引脚。这个主要采用stm32cubeMx配置的,so整个过程变得很简单。贴上局部代码
  1. /**
  2.   * [url=home.php?mod=space&uid=247401]@brief[/url] GPIO Initialization Function
  3.   * @param None
  4.   * @retval None
  5.   */
  6. static void MX_GPIO_Init(void)
  7. {
  8.   GPIO_InitTypeDef GPIO_InitStruct = {0};

  9.   /* GPIO Ports Clock Enable */
  10.   __HAL_RCC_GPIOE_CLK_ENABLE();
  11.   __HAL_RCC_GPIOC_CLK_ENABLE();
  12.   __HAL_RCC_GPIOF_CLK_ENABLE();
  13.   __HAL_RCC_GPIOH_CLK_ENABLE();
  14.   __HAL_RCC_GPIOA_CLK_ENABLE();
  15.   __HAL_RCC_GPIOB_CLK_ENABLE();

  16.   /*Configure GPIO pin Output Level */
  17.   HAL_GPIO_WritePin(GPIOF, GPIO_PIN_8, GPIO_PIN_RESET);

  18.   /*Configure GPIO pin : PE2 */
  19.   GPIO_InitStruct.Pin = GPIO_PIN_2;
  20.   GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
  21.   GPIO_InitStruct.Pull = GPIO_NOPULL;
  22.   HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);

  23.   /*Configure GPIO pins : PE3 PE4 */
  24.   GPIO_InitStruct.Pin = GPIO_PIN_3|GPIO_PIN_4;
  25.   GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
  26.   GPIO_InitStruct.Pull = GPIO_PULLUP;
  27.   HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);

  28.   /*Configure GPIO pin : PF8 */
  29.   GPIO_InitStruct.Pin = GPIO_PIN_8;
  30.   GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
  31.   GPIO_InitStruct.Pull = GPIO_NOPULL;
  32.   GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
  33.   HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);

  34.   /*Configure GPIO pin : PA0 */
  35.   GPIO_InitStruct.Pin = GPIO_PIN_0;
  36.   GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING;
  37.   GPIO_InitStruct.Pull = GPIO_NOPULL;
  38.   HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);

  39.   /* EXTI interrupt init*/
  40.   HAL_NVIC_SetPriority(EXTI0_IRQn, 1, 0);
  41.   HAL_NVIC_EnableIRQ(EXTI0_IRQn);

  42. }
  1. void EXTI0_IRQHandler(void)
  2. {
  3.   /* USER CODE BEGIN EXTI0_IRQn 0 */

  4.   /* USER CODE END EXTI0_IRQn 0 */
  5.   HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_0);
  6.   /* USER CODE BEGIN EXTI0_IRQn 1 */

  7.   /* USER CODE END EXTI0_IRQn 1 */
  8. }


您需要登录后才可以回帖 登录 | 注册

本版积分规则

43

主题

529

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部