2.GPIO按键中断测试
该教程演示如何通过开发板的GPIO实现按键中断。
一、准备工作
- 准备1块BearPi-Pico H3863开发板
二、编译代码
在Windows下编译操作
点击工具栏中的“系统配置”,打开配置界面.
选择Support BUTTON Sample
Application ---> [*] Enable Sample. [*] Enable the Sample of peripheral. [ ] Enable all the sample of peripheral, it's just for build. [ ] Support ADC Sample. [ ] Support BLINKY Sample. [*] Support BUTTON Sample. BUTTON Sample Configuration --->
设置按键的GPIO,GPIO0为例。
BUTTON Sample Configuration ---> (0) Choose BUTTON_PIN pin. (NEW)
按下"Save"键保存配置。
关键代码,位于
application\samples\peripheral\button\button.c
static void button_entry(void) { uapi_pin_set_mode(CONFIG_BUTTON_PIN, HAL_PIO_FUNC_GPIO); //设置引脚复用模式为GPIO uapi_pin_set_pull(CONFIG_BUTTON_PIN, PIN_PULL_TYPE_UP); //设置GPIO为上拉模式 uapi_gpio_set_dir(CONFIG_BUTTON_PIN, GPIO_DIRECTION_INPUT); //设置GPIO方向为输入方向 uapi_gpio_register_isr_func(CONFIG_BUTTON_PIN, GPIO_INTERRUPT_DEDGE, gpio_callback_func);//注册GPIO中断回调 }
编译烧录固件
参考环境搭建教程编译烧录代码
在Ubuntu下编译操作
在MobaXterm中输入:
./build.py menuconfig ws63-liteos-app
选择Support BUTTON Sample
Application ---> [*] Enable Sample. [*] Enable the Sample of peripheral. [ ] Enable all the sample of peripheral, it's just for build. [ ] Support ADC Sample. [ ] Support BLINKY Sample. [*] Support BUTTON Sample. BUTTON Sample Configuration --->
设置按键的GPIO,GPIO0为例。
BUTTON Sample Configuration ---> (0) Choose BUTTON_PIN pin. (NEW)
按下"ESC"键退出并保存配置。
关键代码,位于
application\samples\peripheral\button\button.c
static void button_entry(void) { uapi_pin_set_mode(CONFIG_BUTTON_PIN, HAL_PIO_FUNC_GPIO); //设置引脚复用模式为GPIO uapi_pin_set_pull(CONFIG_BUTTON_PIN, PIN_PULL_TYPE_UP); //设置GPIO为上拉模式 uapi_gpio_set_dir(CONFIG_BUTTON_PIN, GPIO_DIRECTION_INPUT); //设置GPIO方向为输入方向 uapi_gpio_register_isr_func(CONFIG_BUTTON_PIN, GPIO_INTERRUPT_DEDGE, gpio_callback_func);//注册GPIO中断回调 }
编译烧录固件
参考环境搭建教程编译烧录代码
三、测试
烧录固件后按下开发的复位按键,用杜邦线将GPIO0与GND短接来模拟按键按下,观察开发板的日志打印。