ESP32C3 LuatOS RC522①写入数据并读取M1卡

LuatOS RC522官方示例

官方示例没有针对具体开发板,现以ESP32C3开发板为例。

选用的RC522模块

ESP32C3-CORE开发板

注意ESP32C3的 SPI引脚位置,SPI的id=2

示例代码

Lua 复制代码
-- LuaTools需要PROJECT和VERSION这两个信息
PROJECT = "helloworld"
VERSION = "1.0.0"

-- 引入必要的库文件(lua编写), 内部库不需要require
sys = require("sys")
local rc522 = require "rc522"
log.info("main", "hello world")

print(_VERSION)

sys.taskInit(function()
    spi_rc522 = spi.setup(2,nil,0,0,8,100000,spi.MSB,1,1)
    -- spi_rc522 = spi.setup(0,nil,0,0,8,100000)
    rc522.init(2,6,7)
    wdata={0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}
    while 1 do
        rc522.write_datablock(8,wdata)
        for i=0,63 do
            local a,b = rc522.read_datablock(i)
             if a then
                 print("read",i,b:toHex())
             end
         end
     sys.wait(500)
     

    end
end)
 
-- 用户代码已结束---------------------------------------------
-- 结尾总是这一句
sys.run()
-- sys.run()之后后面不要加任何语句!!!!!

项目文件

点击"重启串口"运行程序。程序串口输出。

程序在数据块8中写入数据{0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}

以上代码用于验证模块连接及代码可用性。

相关推荐
L.EscaRC1 天前
Lua语言知识与应用解析
java·python·lua
不见长安在1 天前
redis集群下如何使用lua脚本
数据库·redis·lua
千里镜宵烛1 天前
Lua 面向对象编程完全指南:从元表到私密性,解锁灵活封装技巧
junit·单元测试·lua
千里镜宵烛1 天前
深入 Lua 环境机制:全局变量的 “容器” 与 “隔离术”
开发语言·junit·lua
l1t2 天前
利用DeepSeek采用hugeint转字符串函数完善luadbi-duckdb的decimal处理
数据库·lua·c·duckdb·deepseek
l1t3 天前
luadbi和luasql两种lua duckdb驱动的性能对比
开发语言·单元测试·lua·c·csv·duckdb
l1t4 天前
利用DeepSeek辅助修改luadbi-duckdb读取DuckDB decimal数据类型
c语言·数据库·单元测试·lua·duckdb
Mr. zhihao4 天前
Java 反序列化中的 boolean vs Boolean 陷阱:一个真实的 Bug 修复案例
java·bug·lua
ellis19704 天前
Lua代码混淆-Prometheus方案教程
unity·lua
烛阴5 天前
从create到yield:Lua协程完全上手指南
前端·lua