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}

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

相关推荐
上海合宙LuatOS20 小时前
Air8000多网通信- RNDIS/ECM
物联网·lua·嵌入式开发·多网通信
Linux运维技术栈1 天前
一次暴力枚举攻击的防御实践:从 IP 封禁到 WAF,再到 Nginx+Lua 业务层防御
tcp/ip·nginx·安全·lua·云服务器
诙_2 天前
由C++速通Lua
开发语言·lua
yeshan5 天前
【Draft】基于 cluacov 的 Lua 代码分支覆盖率统计:从行级近似到指令级精确
单元测试·lua
zz0723205 天前
Redis + Lua 实现高性能分布式限流
redis·lua·aop·限流算法·分布式限流
衣舞晨风5 天前
运行时行为盲区:API7 AI 网关CPU打满故障的AI辅助事后复盘
lua·openresty·apisix·coroutine·cpu-saturation·socket-buffer
笨鸟先飞的橘猫8 天前
基于Skynet的分布式游戏场景题:大型MMO的跨服战场系统设计
分布式·学习·游戏·面试·lua
Huanzhi_Lin10 天前
skynet笔记
笔记·lua·skynet·actor·actor模型
笨鸟先飞的橘猫10 天前
MMO游戏中的“跨服团队副本”匹配与状态同步系统
分布式·学习·游戏·lua·skynet
Kiyra11 天前
限流不是加个计数器就行:用 Lua 脚本实现多维度原子限流
开发语言·人工智能·网络协议·职场和发展·架构·lua·ai-native