如何对GD32F310开发板的外部中断进行测试呢

电子说

1.2w人已加入

描述

通过例程来测试下开发板的外部中断。设置为上升沿触发,LED指示灯,中断一次,状态反转一次。

有关外部中断的电路图

LED指示灯

程序

主程序

 

int main(void)
{
    systick_config();
    
    rcu_periph_clock_enable(RCU_GPIOA);
    
    //初始化LED
    gpio_mode_set(GPIOA, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, GPIO_PIN_1);
    gpio_output_options_set(GPIOA, GPIO_OTYPE_PP, GPIO_OSPEED_MAX, GPIO_PIN_1);
    gpio_bit_reset(GPIOA, GPIO_PIN_1);
    
    //初始化外部中断
    gpio_mode_set(GPIOA, GPIO_MODE_INPUT, GPIO_PUPD_PULLUP, GPIO_PIN_0);
    rcu_periph_clock_enable(RCU_CFGCMP);
    
    nvic_irq_enable(EXTI0_1_IRQn, 2U, 0U);
    syscfg_exti_line_config(EXTI_SOURCE_GPIOA, EXTI_SOURCE_PIN0);

    exti_init(EXTI_0, EXTI_INTERRUPT, EXTI_TRIG_RISING);
    exti_interrupt_flag_clear(EXTI_0);
    
    while(1)
    {
        
    }
}

 

外部中断处理

 

void EXTI0_1_IRQHandler(void)
{
    if(RESET != exti_interrupt_flag_get(EXTI_0))
    {
        gpio_bit_toggle(GPIOA, GPIO_PIN_1);
    }
    exti_interrupt_flag_clear(EXTI_0);
}






审核编辑:刘清

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分