GD32 外部中断配置

中断配置 

uint8_t flag = 0;

void exti (void)
{
    rcu_periph_clock_enable(RCU_GPIOD); 
	gpio_init(GPIOD, GPIO_MODE_IPU, GPIO_OSPEED_50MHZ, GPIO_PIN_2); 

    rcu_periph_clock_enable(RCU_AF);
    nvic_irq_enable(EXTI2_IRQn,2,2);
    gpio_exti_source_select(GPIO_PORT_SOURCE_GPIOD, GPIO_PIN_SOURCE_2);
    exti_init(EXTI_2,EXTI_INTERRUPT,EXTI_TRIG_FALLING);
   exti_interrupt_enable(EXTI_2);
}


void EXTI2_IRQHandler (void)
{
    if(exti_interrupt_flag_get(EXTI_2) == 1)
    {
        flag = 1;
        exti_interrupt_flag_clear(EXTI_2);
    }
    
}

主函数

extern int flag;


int main(void)
{	
    nvic_priority_group_set(NVIC_PRIGROUP_PRE2_SUB2);
    systick_config();
    exti();
    led_config();
     gpio_bit_set(GPIOB,GPIO_PIN_1);
     gpio_bit_set(GPIOB,GPIO_PIN_0);
    while(1)
    {
        if(flag == 1)
        {
            flag = 0;
            led_toggle();
            
        }
    }
}

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值