- -- 将字符串转换为十六进制表
- 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



- -- 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()之后后面不要加任何语句!!!!!