箐11 2024-01-29 13:02 采纳率: 40%
浏览 11
已结题

为什么想要通过外部中断来控制LED灯的亮灭情况不能实现 stm32g431 ?

为什么想要通过外部中断来控制LED灯的亮灭情况不能实现 stm32g431

cubemx配置

img

img

img

MX_GPIO_Init()中的中断优先级:

 /* EXTI interrupt init*/
  HAL_NVIC_SetPriority(EXTI0_IRQn, 0, 0);
  HAL_NVIC_EnableIRQ(EXTI0_IRQn);

  HAL_NVIC_SetPriority(EXTI1_IRQn, 0, 0);
  HAL_NVIC_EnableIRQ(EXTI1_IRQn);

回调函数:

void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{

    if(GPIO_Pin==GPIO_PIN_0)
    {
    
        
        HAL_GPIO_TogglePin(GPIOC,GPIO_PIN_15);
    }
    
}

void EXTI0_IRQHandler(void)
{
  /* USER CODE BEGIN EXTI0_IRQn 0 */

  /* USER CODE END EXTI0_IRQn 0 */
  HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_0);
  /* USER CODE BEGIN EXTI0_IRQn 1 */

  /* USER CODE END EXTI0_IRQn 1 */
}

/**
  * @brief This function handles EXTI line1 interrupt.
  */
void EXTI1_IRQHandler(void)
{
  /* USER CODE BEGIN EXTI1_IRQn 0 */

  /* USER CODE END EXTI1_IRQn 0 */
  HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_1);
  /* USER CODE BEGIN EXTI1_IRQn 1 */

  /* USER CODE END EXTI1_IRQn 1 */
}

  • 写回答

2条回答 默认 最新

  • qllaoda 2024-01-29 15:00
    关注

    1,先不用中断,验证LED是否可控制亮灭(不是翻转)
    2,为防止多次中断触发,初始化的时候关掉LED,在中断里只把LED状态改为亮,可验证是否确实触发。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 1月30日
  • 修改了问题 1月29日
  • 创建了问题 1月29日

悬赏问题

  • ¥15 系统 24h2 专业工作站版,浏览文件夹的图库,视频,图片之类的怎样删除?
  • ¥15 怎么把512还原为520格式
  • ¥15 MATLAB的动态模态分解出现错误,以CFX非定常模拟结果为快照
  • ¥15 求高通平台Softsim调试经验
  • ¥15 canal如何实现将mysql多张表(月表)采集入库到目标表中(一张表)?
  • ¥15 wpf ScrollViewer实现冻结左侧宽度w范围内的视图
  • ¥15 栅极驱动低侧烧毁MOSFET
  • ¥30 写segy数据时出错3
  • ¥100 linux下qt运行QCefView demo报错
  • ¥50 F1C100S下的红外解码IR_RX驱动问题