打印

GD32E230C开发板按键问题

[复制链接]
561|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
onlycook|  楼主 | 2022-3-16 11:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
昨天下午和今天上午都在调试开发板的按键,按照DEMO程序的代码,Tamper按键中断法很容易就用起来了,但我想启用长按和短按功能,却反复调试都不成功,同样的代码我在STM32F103C8T6最小系统板上都能正常使用,而在这个开发板上却无法掌握长按和短按的区别,请各位帮忙看看是什么原因!代码如下:

  • void EXTI4_15_IRQHandler(void)
  • {
  •     if(RESET != exti_interrupt_flag_get(EXTI_13)){
  •         delay_ms(20);
  •                 if (RESET == gpio_input_bit_get(GPIOC,GPIO_PIN_13))
  •                 keys = 1;
  •                 gpio_bit_toggle(GPIOA,GPIO_PIN_12);    //翻转LED3引脚状态
  •                 delay_ms(200);
  •                 if (RESET == gpio_input_bit_get(GPIOC,GPIO_PIN_13)) keys = 2;
  •                 key_proc();
  •                 gpio_bit_toggle(GPIOA,GPIO_PIN_11);    //翻转LED2引脚状态
  •         exti_interrupt_flag_clear(EXTI_13);    //清除中断标志
  •     }
  • }

复制代码



    其中的延时我从100到500ms之间反复调试都不行,得到的键值似乎是随机的。
    为了获得两个按键,我盯了上开发板上的Wakeup按键,我启用和设置了相关引脚,代码如下:
  • void key_init(void)
  • {
  •    /* enable the Tamper key GPIO clock */
  •     rcu_periph_clock_enable(RCU_GPIOC);
  •     rcu_periph_clock_enable(RCU_CFGCMP);
  •     gpio_mode_set(GPIOC, GPIO_MODE_INPUT, GPIO_PUPD_NONE, GPIO_PIN_13);
  •     gpio_output_options_set(GPIOC, GPIO_PUPD_NONE, GPIO_OSPEED_50MHZ, GPIO_PIN_13);
  •     /* enable and set key EXTI interrupt priority */
  •     nvic_irq_enable(EXTI4_15_IRQn,1U);
  •     /* connect key EXTI line to key GPIO pin */
  •     syscfg_exti_line_config(EXTI_SOURCE_GPIOC, EXTI_SOURCE_PIN13);
  •     /* configure key EXTI line */
  •     exti_init(EXTI_13, EXTI_INTERRUPT, EXTI_TRIG_RISING);
  •     exti_interrupt_flag_clear(EXTI_13);
  •         /***** enble the Warkup key GPIO cloock *****/
  •     rcu_periph_clock_enable(RCU_GPIOA);
  •     rcu_periph_clock_enable(RCU_CFGCMP);
  •         gpio_mode_set(GPIOA, GPIO_MODE_INPUT, GPIO_PUPD_NONE, GPIO_PIN_0);
  •     gpio_output_options_set(GPIOA, GPIO_PUPD_NONE, GPIO_OSPEED_50MHZ, GPIO_PIN_0);
  • }


复制代码



    但一直无法获得按键的状态,不知是何原因。

使用特权

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

本版积分规则

438

主题

1657

帖子

3

粉丝