main.lua 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. -- LuaTools需要PROJECT和VERSION这两个信息
  2. PROJECT = "otpdemo"
  3. VERSION = "1.0.0"
  4. log.info("main", PROJECT, VERSION)
  5. -- sys库是标配
  6. _G.sys = require("sys")
  7. --[[
  8. 提示: OTP是比较高级的API, 一般用于存储密钥等核心数据, 不建议用于普通数据的存放
  9. OTP有个非常重要的特性, 就是一旦加锁就永久无法解锁, 这点非常非常重要
  10. OTP通常由多个zone, 0,1,2, 每个zone通常由256字节, 但这个非常取决于具体模块.
  11. OTP在没有加锁之前是可以抹除的, 每次都是整个zone一起抹除.
  12. ]]
  13. sys.taskInit(function()
  14. sys.wait(3000)
  15. -- 擦除区域
  16. -- otp.erase(2)
  17. -- 写otp区域
  18. local ret = otp.write(2, "1234", 0)
  19. log.info("otp", "write", ret)
  20. -- 读取otp区域
  21. for zone = 0, 2, 1 do
  22. local otpdata = otp.read(zone, 0, 64)
  23. if otpdata then
  24. log.info("otp", zone, otpdata:toHex())
  25. log.info("otp", zone, otpdata)
  26. end
  27. end
  28. -- 锁定otp区域, 别轻易尝试, 加锁之后就无法解锁了
  29. -- otp.lock(2)
  30. end)
  31. -- 用户代码已结束---------------------------------------------
  32. -- 结尾总是这一句
  33. sys.run()
  34. -- sys.run()之后后面不要加任何语句!!!!!