• HK32F030MF4P6 EXTI外部中断例程


     应用场景

    PC7管脚外部中断触发例程

    void ALR_EXTI_Init(void)
    {
        GPIO_InitTypeDef GPIO_InitStructure;
        EXTI_InitTypeDef EXTI_InitStructure;
        NVIC_InitTypeDef NVIC_InitStructure;
        
        /*GPIO 时钟使能*/
        RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOC,ENABLE);
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE);    
        
        /*---- GPIO PC7*/
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7;

        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
        GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN;
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
        GPIO_Init(GPIOC, &GPIO_InitStructure);    
        
        /* 配置EXTI */
        EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
        EXTI_InitStructure.EXTI_Line = EXTI_Line7;
        EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;
        EXTI_InitStructure.EXTI_LineCmd = ENABLE;
        EXTI_Init(&EXTI_InitStructure);
        
        SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOC,EXTI_PinSource7);
        EXTI_ClearITPendingBit(EXTI_Line7);
        
        NVIC_InitStructure.NVIC_IRQChannel = EXTI7_IRQn;
        NVIC_InitStructure.NVIC_IRQChannelPriority = 0;
        NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
        NVIC_Init(&NVIC_InitStructure);
        
    }

    void EXTI7_IRQHandler(void)
    {
        if (EXTI_GetFlagStatus(EXTI_Line7) != RESET)
        {
            // LED 翻转
            LED2 =! LED2;
            tp_flg = 1;
            //清除中断位
            EXTI_ClearITPendingBit(EXTI_Line7);
        }


     

  • 相关阅读:
    文章标题编号
    网关的鉴权功能设计思考
    R程序 示例4.3.2版本包 在centos进行编译部署
    深度学习在图像识别领域还有哪些应用?
    神经网络基础知识总结与理解
    【Java】Quartz定时作业的创建
    HK32_UID中获取芯片唯一ID相同的问题
    Android NDK篇-C++语言之运算符重载 与多继承二义性
    数据库-sqlserver数据库迁移到mysql
    nginx网站服务
  • 原文地址:https://blog.csdn.net/enfang1120/article/details/126175226