GD32F310 (二) 按键轮询输入

2023-11-19

目录

首言

一、按键输入初始化:

二、按键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);		
		}
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

GD32F310 (二) 按键轮询输入 的相关文章

  • VSCODE 系列(三)Settings Sync插件,多人开发同步配置。

    文章目录 前言 一 安装 二 配置 下载 上传 个人应用 团队应用 共享配置 令牌token失效处理 引用 借鉴文章 前言 该插件已被VSCODE弃用 下载在VSCODE上已经无法下载该插件 可以通过在vscode上登录github或微软账
  • JavaScript超全学习笔记+Web经典案例,赶快收藏

    青春啊 永远是美好的 可是真正的青春 只属于这些永远力争上游的人 永远忘我劳动的人 永远谦虚的人 最近收到不少的优秀学生投稿 他们有投稿手写笔记 有手写博客 也还有视频 小编也从中挑出几篇较为优秀的文章 下面一起看看吧 C认证优秀学员笔记又
  • 图像处理_Ostu算法(大律法、最大类间方差法)

    一 算法简述 Otsu算法是一种用于二值化最佳阈值的选取方法 基本原理是根据阈值T将图像中的像素点分为C1和C2两类 不断的调整阈值T之后若此时两类之间存在最大的类间方差 那么此阈值即是最佳阈值 二 算法理论 1 基础公式 1 2 3

随机推荐