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}

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

相关推荐
努力努力再努力wz12 小时前
【Lua进阶系列】Lua 调试机制详解:从虚拟机调用栈、错误传播到 debug 库
junit·单元测试·lua
炸薯条!3 天前
博客系统测试报告
开发语言·lua
BuHuaX4 天前
Lua 与 ToLua:运行机制及热更新原理
开发语言·unity·junit·c#·lua
努力努力再努力wz5 天前
【Lua 入门系列】模块与包(一):从多文件组织到require 运行时加载机制、模块缓存、预加载搜索与 Lua 文件搜索机制
开发语言·junit·lua
UWA5 天前
多人战斗中Lua持续高耗时,是瞬时峰值还是高频调用在作祟
性能优化·lua·游戏开发
努力努力再努力wz6 天前
【Lua 入门系列】从执行模型到事件驱动:一文理解 Lua 有栈协程、挂起恢复与协作式调度
开发语言·lua
努力努力再努力wz6 天前
【Lua 入门系列】Lua数据结构:从 Table 出发,一文串联数组、链表、栈、队列、集合、映射与树的实现原理
数据结构·链表·lua
努力努力再努力wz7 天前
【Lua入门系列】从 Table 到元表与元方法:一文理解 Lua 的行为扩展机制
开发语言·junit·lua
麻瓜code7 天前
秒杀优化三连:Lua + 阻塞队列 + Redis Stream,响应从 3.4 秒到毫秒级
redis·junit·lua
努力努力再努力wz7 天前
【Lua 入门系列】Lua 函数深入理解:函数对象、多返回值、可变参数、闭包、递归与尾调用优化
开发语言·lua