function fs_info ( ) if fs == nil then log . error ( tag , "this fireware is not support fs" ) return log . info ( tag , "START" ) log . info ( tag .. ".fsstat:" , fs . fsstat ( ) ) log . info ( tag .. ".fsstat:/" , fs . fsstat ( "/" ) ) log . info ( tag .. ".fsstat:/luadb/" , fs . fsstat ( "/luadb/" ) ) log . info ( tag .. ".fsize:/luadb/code.png" , fs . fsize ( "/luadb/code.png" ) ) log . info ( tag .. ".fsize:/luadb/main.luac" , fs . fsize ( "/luadb/main.luac" ) ) log . info ( tag .. ".fsize:/luadb/main.lua" , fs . fsize ( "/luadb/main.lua" ) ) -- names = io.lsdir("/ldata/") -- log.info("dir",names) -- log.info(tag .. ".fsize", fs.fsize("/luadb/main.luac")) log . info ( tag , "DONE" )

3.3 结果

fsstat是针对文件系统,例如"/luadb" “/sd”
在这里插入图片描述
没有挂载sd卡也会报错。

4 io接口

LuatOS-master\LuatOS\lua\src\liolib.c
在这里插入图片描述
当前支持的io接口

update_luadb_inline.lua (LuatOS-master\LuatOS\bsp\win32\tools)

5 IO读取luadb目录下文件

5.1 接口io.read

io.read -> f_read -> g_read
在这里插入图片描述

5.2 下载txt文件进luadb

创建一个txt文件,然后输入aaaa
在这里插入图片描述
在这里插入图片描述

5.3 代码

function fs_read_txt()
    local file_path = "/luadb/boot_time.txt"   --luadb只读
    local f_read_txt = io.open(file_path, "rb")
    log.info("f_read_txt:",type(f_read_txt))      -- userdata
    if f_read_txt then
        log.info("f_read_txt ok")
        local data = f_read_txt:read("*a")
        log.info("data type = "..type(data)) -- string
        -- if data == "" then
        --     data = "0"
        -- end
        log.info("fs","data", "["..data.."]", type(data))
        local data_temp = data:toHex()
        log.info("fs","data","["..data_temp.."]", type(data_temp))
        f_read_txt:close()
    if fs then
        log.info("fsstat", fs.fsize(file_path))

5.4 结果

在这里插入图片描述
toHEX可以将字符串转为ascii码值

6 IO写入

6.1 接口io.write

io.write -> f_write -> g_write
在这里插入图片描述

6.2 代码

fs_read_txt("/luadb/boot_time.txt")
function fs_write_txt(file_path)
    log.info("fs_write_txt------------------{")
    -- local file_path = "/test_write.txt"   --luadb只读
    local f_write_txt = io.open(file_path, "wb+")   --读写方式打开或建立一个二进制文件,允许读和写
    log.info("fs_write_txt:",type(f_write_txt))      -- userdata
    if f_write_txt then
        log.info("f_write_txt ok")
        local data = f_write_txt:write("aaa")
        log.info("fs","data", "["..data.."]", type(data))
        f_write_txt:close()
    if fs then
        log.info("fsstat", fs.fsize(file_path))
    log.info("fs_write_txt------------------}")

无法运行,看起来无法在"/"目录下直接创建文件

后续尝试加上sd卡,不过由于esp32只有一个spi,需要实现spi复用,打算使用105看看。

ESP32-C3入门教程 环境篇①——简单介绍与软硬件准备 ESP32-C3入门教程 环境篇②——Windows开发环境准备 ESP32-C3入门教程 环境篇③——VS Code IDE快速入门 二、基础篇 ESP32-C3入门教程 基础篇①——GPIO口控制 ESP32-C3入门教程 基础篇②——PWM控制 ESP32-C3入门教程 基础篇③——ADC输入 ESP32-C3入门教程 基础篇④——串口通信 ESP32-C3入门教程 基础篇⑤——SPI通信 ESP32-C3入门教程 基础篇⑥——I
本文章 来自原创专栏《ESP32教学专栏 (基于ESP-IDF)》,讲解如何使用 ESP-IDF 构建 ESP32 程序,发布文章并会持续为已发布文章添加新内容! 每篇文章都经过了精打细磨! ↓↓↓通过下方对话框进入专栏目录页↓↓↓ CSDN 请求进入目录       _ O x是否进入ESP32教学导航(基于ESP-IDF)?       确定 文章目录一、什么是虚拟文件系统(VFS)二、ESP32中的VFS1. 标准的VFS路径(1)挂载点(2)路径2. 文件描述符3. 标准IO流: `stdin`、`
什么是Lua RTOSLua RTOS是一种实时操作系统,旨在在嵌入式系统上运行,对FLASH和RAM内存的要求最低。 目前,Lua RTOS可用于ESP32,ESP8266和PIC32MZ平台,并可轻松移植到其他32位平台。 Lua RTOS具有三层设计: 在顶层,有一个Lua 5.3.4解释器,它为程序员提供Lua编程语言提供的所有资源,以及用于访问硬件(PIO,ADC,I2C,RTC等)和中间件服务的特殊模块。由Lua RTOS提供(Lua Threads,LoRa WAN,MQTT等)。 在中间层,有一个由FreeRTOS支持的实时微内核。 这是导致事情在预期时间内发生的原因。 在底层有一个硬件抽象层,直接与平台硬件对话。 为了将Lua RTOS移植到其他平台,只需要为底层编写代码,因为顶层和中间层对于所有平台都是相同的。 如何编程? Lua RTOS兼容板可以用进行两种编程:直接使用Lua编程语言,或使用将块转换为Lua的基于块的编程语言。 无论使用Lua还是块,两种编程形式都是在相同的编程环境中进行的。 程序员可以决定,例如,使用块制作快速原型,然后更改为
文章目录1. 安装链接2 esp32 固件3 luatoos v2.1.424 小结5 其他版本,我使用失败的版本5.1 Luatools5.2 下载 1. 安装链接 目前找到了几个版本的luatools下载esp32建议使用第三个 下载路径: Luat下载调试工具1.6.4 https://www.openluat.com/Product/software/luatools.html luatool v2.6.74 https://doc.openluat.com/wiki/3?wiki_page_
乐鑫官方文档:https://docs.espressif.com/projects/esp-idf/zh_CN/stable/get-started/index.html 首要问题: Vmware虚拟机需要最新版本,15以上。 Ubuntu 至少18以上(建议18),要不然好像字体或者其他有问题(老版本的界面也不大好看) 安装好首先改Ubuntu 源(用Python的话也改下Python源) 然后配置GIT 代理,这样才有速度。可以用Window下代理软件,然后开启局域网共享 接下来按照官方文.
使用lua5.3对esp32进行开发,涉及到GPIO/ADC/UART/SOCKET/JSON等功能。此处整理了lua部分脚本。 官方提供的资料:https://docs.espressif.com/projects/esp-idf/en/latest/api-reference/peripherals/index.html https://aruneworld.com/category/embe...
xtensa-esp32-elf-gcc.exe 是一个用于在 ESP32 开发板上编译和调试代码的工具。它是针对 Xtensa 处理器架构的 GCC 编译器。ESP32 是一款广泛使用的低功耗 Wi-Fi 和蓝牙微控制器,可应用于各种物联网设备和嵌入式系统。 要下载 xtensa-esp32-elf-gcc.exe,您可以按照以下步骤进行操作: 1. 打开您想要下载工具的浏览器。 2. 在搜索引擎中搜索 "xtensa-esp32-elf-gcc.exe 下载"。 3. 从搜索结果中选择一个可信的下载源或官方网站。 4. 进入下载页面,并查找与您操作系统版本和位数兼容的下载链接。 5. 单击下载链接,开始下载 xtensa-esp32-elf-gcc.exe。 6. 等待下载完成,并确保下载文件存储在您的计算机或指定的下载目录中。 下载完成后,您可以按照以下步骤进行安装: 1. 找到 xtensa-esp32-elf-gcc.exe下载位置。 2. 双击运行安装程序。 3. 遵循安装向导指引完成安装过程。通常情况下,您只需要按照默认设置进行安装即可。 4. 安装完成后,您可以在系统的命令行界面中运行 xtensa-esp32-elf-gcc.exe,或者在集成开发环境(IDE)中配置 xtensa-esp32-elf-gcc.exe 的路径。 请注意,下载和安装 xtensa-esp32-elf-gcc.exe 需要在选择可靠的来源并确保文件的完整性。您可以通过使用官方网站或与 ESP32 社区相关的资源来获得更多关于 xtensa-esp32-elf-gcc.exe 的支持和说明。