跳到主要内容

三、按键输入实验

3.1 实验简介

本实验通过ShineBlink的按键功能控制LED1及LED2的亮灭。按键本身也属于GPIO输入,ShineBlink设置了专门的按键函数,使得按键检测更稳定可靠。

3.2 硬件设计

开发板上有两个按键,BTN1接D10引脚,BTN2接D11引脚如下图所示:

button

3.3 软件设计

--初始化D8引脚,LED1灯
LIB_GpioOutputConfig("D8","STANDARD")
--初始化D9引脚,LED2灯
LIB_GpioOutputConfig("D9","STANDARD")
--设置按键"BTN1"(占用D10口)以低电平有效的方式检测按键动作
LIB_ButtonConfig("BTN1","D10","L")
--设置按键"BTN1"(占用D11口)以低电平有效的方式检测按键动作
LIB_ButtonConfig("BTN2","D11","L")
--开始大循环
while(GC(1) == true)
do
--轮询按键事件
key_value = LIB_ButtonQuery("BTN1")
--如果按键1短按过
if key_value == 1 then
--切换LED1状态
LIB_GpioToggle("D8")
end

key_value = LIB_ButtonQuery("BTN2")
--如果按键1短按过
if key_value == 1 then
--切换LED2状态
LIB_GpioToggle("D9")
end
end

3.4 实验现象

按压一次BTN1,LED1切换一次亮灭状态,按压一次BTN2,LED2切换一次亮灭状态.

buttonLED