ESP32C3 LuatOS RC522②写入字符串

编写了字符串转16进制表函数

Lua 复制代码
-- 将字符串转换为十六进制表
local function stringToHexTable(str)
    local hexTable = {}
    local maxLength = 16 -- 最大长度为16个元素

    -- 将字符串转换为十六进制
    for i = 1, #str do
        if i > maxLength then
            break
        end
        local hex = string.format("0x%02X", string.byte(str, i))
        table.insert(hexTable, hex)
    end

    -- 补充缺少的元素
    while #hexTable < maxLength do
        table.insert(hexTable, "0x00")
    end

    return hexTable
end

请使用最新版的RC522.lua文件

用最新版文件替换

项目文件

运行结果

完整源码

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)

-- 将字符串转换为十六进制表
local function stringToHexTable(str)
    local hexTable = {}
    local maxLength = 16 -- 最大长度为16个元素

    -- 将字符串转换为十六进制
    for i = 1, #str do
        if i > maxLength then
            break
        end
        local hex = string.format("0x%02X", string.byte(str, i))
        table.insert(hexTable, hex)
    end

    -- 补充缺少的元素
    while #hexTable < maxLength do
        table.insert(hexTable, "0x00")
    end

    return hexTable
end

sys.taskInit(function()
    spi_rc522 = spi.setup(2,nil,0,0,8,100000,spi.MSB,1,1)
    rc522.init(2,6,7)
    wdata=stringToHexTable("helloworld!")--字符串转换成16进制表
    rc522.write_datablock(8,wdata)
    while 1 do
       local status,array_id = rc522.request(rc522.reqall)
       if status then
        print("\n有卡!\n")
        local a,b = rc522.read_datablock(8)
        if a then 
            print(b.."\n")--输出字符串
        end
       sys.wait(100)
      end
    end
end)

-- 用户代码已结束---------------------------------------------
-- 结尾总是这一句
sys.run()
-- sys.run()之后后面不要加任何语句!!!!!
相关推荐
塔能物联运维18 分钟前
物联网运维中的多模态数据融合与智能决策优化技术
运维·物联网
zskj_zhyl16 小时前
科技向暖,银发无忧:十五五规划中智慧养老的温度革命
大数据·人工智能·科技·物联网·生活
盈创力和200716 小时前
构建本质安全:现代智能消防的物联网架构深度解析
物联网·智慧消防·三水一电改造·智慧消防预警
小叮当⇔16 小时前
物联网协议全景图
物联网
做萤石二次开发的哈哈16 小时前
萤石开放平台申请物联网卡指南
物联网
Smartlabs16 小时前
Z-Wave物联网网关开发专用 SDK - Unify
物联网·智能家居·z-wave
塔能物联运维16 小时前
物联网异构协议自适应转换与网络集成优化
网络·物联网
ba_pi16 小时前
物联网中台搭建以及规则定义
物联网·mqtt·mongodb·tdengine·emqx·node-red
TG:@yunlaoda360 云老大16 小时前
Leverege 携手谷歌云和BigQuery,赋能大规模企业级物联网(IoT)解决方案
物联网·云计算·googlecloud
盈创力和200716 小时前
以太网环境传感器在物联网系统中的集成与应用前景
物联网·以太网温湿度传感器·多参量传感器·以太网温湿度压力传感器·多协议支持