GD32F310 (二) 按键轮询输入

目录

首言

一、按键输入初始化:

二、按键main 应用:


首言

//     
// 作者:  小飞虫科技
// 淘宝:  首页-小虫飞科技-淘宝网 (taobao.com)
// 开发板: GD32F3X0系列
//  

一、按键输入初始化:

void KEY_Init(void)
{
     /* enable the key clock */
    rcu_periph_clock_enable(RCU_GPIOA);
    /* configure key GPIO port */     
    
    gpio_mode_set(GPIOA, GPIO_MODE_INPUT, GPIO_PUPD_PULLUP, GPIO_PIN_1);

	
}
 

二、按键main 应用:

/*SYS*/
#include "gd32f3x0.h"
#include "systick.h"

/*USER*/
#include "LED.h"
#include "KEY.h"

void led_flash(int times);
/*!
    \brief      main function
    \param[in]  none
    \param[out] none
    \retval     none
*/
int main(void)
{
    systick_config();
	  /*led init*/
		LED_Init();
	
		KEY_Init();

		led_flash(1);

    while(1){
        if(RESET == gpio_input_bit_get(GPIOA, GPIO_PIN_1)){
            /* delay 50ms for software removing jitter */
            delay_1ms(50);
            if(RESET == gpio_input_bit_get(GPIOA, GPIO_PIN_1)){
                gpio_bit_toggle(GPIOB, GPIO_PIN_4);
                while(RESET == gpio_input_bit_get(GPIOA, GPIO_PIN_1));
            }
        }
    }
}
/*!
    \brief      flash the LEDs for test
    \param[in]  times: times to flash the LEDs
    \param[out] none
    \retval     none
*/
void led_flash(int times)
{
	  int i;
    for(i = 0;i < times;i++){
			/* turn on LED */
			gpio_bit_set(GPIOB, GPIO_PIN_4);
			/* insert 200 ms delay */
			delay_1ms(200);

			/* turn off LEDs */ 
			gpio_bit_reset(GPIOB, GPIO_PIN_4);
			/* insert 200 ms delay */
			delay_1ms(200);		
		}
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值