目录
首言
一、按键输入初始化:
二、按键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);
}
}