当前位置: 代码迷 >> 综合 >> 【Luat-esp32】1.点灯
  详细解决方案

【Luat-esp32】1.点灯

热度:92   发布时间:2023-12-05 20:31:48.0

文章目录

  • 0 前言
  • 1 硬件介绍
  • 2 gpio接口
  • 3 代码
  • 4 结果

0 前言

下载固件以及代码步骤参见上一章【Luat】3. 下载lua文件
本文运行esp32的示例,gpio/main.lua

1 硬件介绍

esp32开发板的电路图我没有,但是可以在官网上看到它的引脚信息
https://wiki.luatos.com/chips/esp32c3/board.html
在这里插入图片描述

如图,D4/D5是两个led灯。
在这里插入图片描述
可以看到他们对应的是IO12/13
也就是引脚29和引脚23。要注意区分。

在这里插入图片描述

2 gpio接口

https://wiki.luatos.com/api/gpio.html
在这里插入图片描述

3 代码

代码来源:梦程大佬提供的demo
https://gitee.com/dreamcmi/LuatOS-ESP32/tree/master/demo/gpio

PROJECT = "gpiodemo"
VERSION = "1.0.0"-- 一定要添加sys.lua !!!!
local sys = require "sys"sys.taskInit(function()local LED_D4 = gpio.setup(12, 0)local LED_D5 = gpio.setup(13, 0)while 1 doLED_D4(0)LED_D5(1)sys.wait(1000)LED_D4(1)LED_D5(0)sys.wait(1000)endend
)-- 用户代码已结束---------------------------------------------
-- 结尾总是这一句
sys.run()
-- sys.run()之后后面不要加任何语句!!!!!

两个led灯对应的io为12/13

        local LED_D4 = gpio.setup(12, 0)local LED_D5 = gpio.setup(13, 0)

12/13表示接口
0表示输出

        while 1 doLED_D4(0)LED_D5(1)sys.wait(1000)LED_D4(1)LED_D5(0)sys.wait(1000)end

LED_D4(0)相当于gpio.set(12, 0),将io12设为低电平。
实现功能是将每个led显示1s,交替闪烁。
这里的led只有红色。

4 结果

led灯的闪烁就不录制视频了。