main.lua 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. -- LuaTools需要PROJECT和VERSION这两个信息
  2. PROJECT = "RC522"
  3. VERSION = "1.0.0"
  4. log.info("main", PROJECT, VERSION)
  5. sys = require("sys")
  6. local rc522 = require "rc522"
  7. local SPI_ID = 1
  8. local CS_PIN = 12
  9. local RST_PIN = 21
  10. -- SPI初始化配置
  11. sys.taskInit(function()
  12. -- 配置SPI总线
  13. -- spi_rc522 = spi.setup(
  14. -- SPI_ID,--spi_id
  15. -- nil,
  16. -- 0,--CPHA
  17. -- 0,--CPOL
  18. -- 8,--数据宽度
  19. -- 10000000--,10MHz频率
  20. -- -- spi.MSB,--高低位顺序 可选,默认高位在前
  21. -- -- spi.master,--主模式 可选,默认主
  22. -- -- spi.full--全双工 可选,默认全双工
  23. -- )
  24. spi_rc522 = spi.setup(SPI_ID, nil, 0, 0, 8, 10 * 1000 * 1000)
  25. -- RC522模块初始化
  26. if rc522.init(SPI_ID, CS_PIN, RST_PIN) then
  27. log.info("RC522", "初始化成功")
  28. else
  29. log.error("RC522", "初始化失败,请检查接线")
  30. return
  31. end
  32. -- 主循环读取卡片
  33. while true do
  34. -- 检测卡片并获取UID
  35. local status, array_id = rc522.request(rc522.reqall)
  36. log.info("rc522.request:", status, array_id)
  37. if status then
  38. local success, uid = rc522.anticoll(array_id)
  39. log.info("rc522.anticoll:", success, uid:toHex())
  40. end
  41. sys.wait(500) -- 降低轮询频率
  42. end
  43. end)
  44. sys.run()