打印

at32f421f8p7 外部中断 没有响应

[复制链接]
948|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ykedu|  楼主 | 2023-4-25 16:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
void port_in_init(void)
{
        //引脚初始化
        gpio_init_type gpio_init_struct;
        //使能 PB1 TIM3_CH4  对应的时钟
                crm_periph_clock_enable(CRM_GPIOB_PERIPH_CLOCK, TRUE);        //开启gpioB时钟
        //设置为默认值
                gpio_default_para_init(&gpio_init_struct);
        //设置为输入模式
        gpio_init_struct.gpio_mode=GPIO_MODE_INPUT;
        gpio_init_struct.gpio_pins=GPIO_PINS_1;
        //设置为下拉
        gpio_init_struct.gpio_pull=GPIO_PULL_DOWN;
        gpio_init(GPIOB,&gpio_init_struct);
}
void at32_exint_init(void)
{
   //外部中断结构初始化
        exint_init_type exint_init_struct;
        //使能对应的时钟
        crm_periph_clock_enable(CRM_SCFG_PERIPH_CLOCK, TRUE);               
  scfg_exint_line_config(SCFG_PORT_SOURCE_GPIOB, SCFG_PINS_SOURCE1);
  exint_default_para_init(&exint_init_struct);
  exint_init_struct.line_enable = TRUE;
  exint_init_struct.line_mode = EXINT_LINE_INTERRUPUT;
  exint_init_struct.line_select = EXINT_LINE_0 ;//EXINT_LINE_USRKEY_PIN  EXINT_LINE_0
  exint_init_struct.line_polarity = EXINT_TRIGGER_RISING_EDGE;//上升沿中断
  exint_init(&exint_init_struct);

  nvic_priority_group_config(NVIC_PRIORITY_GROUP_4);
  nvic_irq_enable(EXINT1_0_IRQn, 1, 0);
}



/**
  * @brief  exint0 interrupt handler
  * @param  none
  * @retval none
  */
void EXINT1_0_IRQHandler(void)
{
  if(exint_flag_get(EXINT_LINE_0) != RESET)
  {
            USART2->dt=0x01;
                send(0x01);
    exint_flag_clear(EXINT_LINE_0);
  }
}
       

使用特权

评论回复

相关帖子

沙发
天意无罪| | 2023-4-29 12:14 | 只看该作者
首先检查一下你的外部中断信号是否产生并有效,用示波器看看信号。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

2

帖子

0

粉丝