2.3-Air302(NB-IOT)-基础外设-输入检测

时间:2022-07-28
本文章向大家介绍2.3-Air302(NB-IOT)-基础外设-输入检测,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

<p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/Learn-NB-IOT-Air302-ForLua" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p>

电路图

1. 按键可以作为输入检测使用

2.两路输入检测

配置引脚为输入模式,检测定时器轮训检测输入电平

local Gpio9Value=0;
local Gpio9ValueCopy=0;

local Gpio9 = gpio.setup(9, nil) -- 输入模式

sys.taskInit(function()
    while 1 do
        Gpio9Value = Gpio9();
        if  Gpio9Value ~= Gpio9ValueCopy then
            Gpio9ValueCopy = Gpio9Value;
            log.info("Gpio9 is", Gpio9Value);
        end
    end
end)

反复短接以下两个引脚

配置引脚为中断模式

--配置引脚为中断模式
local Gpio9 = gpio.setup(9, 
    function() -- 中断函数
        log.info("gpio9", "FALLING")
    end,
    gpio.PULLUP, --上拉
    gpio.FALLING --下降沿
)

local Gpio7 = gpio.setup(7, 
    function() -- 中断函数
        log.info("gpio7", "FALLING")
    end,
    gpio.PULLDOWN, --上拉
    gpio.FALLING --下降沿
)

反复短接以下两个引脚