GD32F4xx IO口轮询检测按键和IO口按键外部中断

一、流程

1.按键轮询检测

2.按键外部中断检测

二、详细解释和代码

1.按键轮询检测

rcu_periph_clock_enable(RCU_GPIOD);
//初始化GPIOD口的时钟

gpio_mode_set(GPIOD, GPIO_MODE_INPUT, GPIO_PUPD_PULLUP,GPIO_PIN_0); 
//设置PD0引脚为输入模式,上拉电阻(此时引脚接的高电平 按键按下后为低电平)。
//若引脚接的低电平,按键按下后为高电平,则需要使用下拉电阻

while(1)
{
   
	if(gpio_input_bit_get(GPIOD,GPIO_PIN_0)==0)//判断此时按键是否按下
		{
   
			delay_ms(150);//延时150ms 按键消抖
			if(gpio_input_bit_get(GPIOD,GPIO_PIN_0)==0)//再次判断此时按键是否按下
			{
   
				//在此处写入按键按下后要执行的操作
			}
		}
}

2.按键外部中断检测

rcu_periph_clock_enable(RCU_GPIOD);
//初始化GPIOD口的时钟

nvic_priority_group_set(NVIC_PRIGROUP_PRE2_SUB2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值