main.lua 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. PROJECT = "air8000_gnss"
  2. VERSION = "1.0.1"
  3. log.info("main", PROJECT, VERSION)
  4. -- sys库是标配
  5. _G.sys = require("sys")
  6. --[[特别注意, 使用http库需要下列语句]]
  7. _G.sysplus = require("sysplus")
  8. -- mobile.flymode(0,true)
  9. if wdt then
  10. --添加硬狗防止程序卡死,在支持的设备上启用这个功能
  11. wdt.init(9000)--初始化watchdog设置为9s
  12. sys.timerLoopStart(wdt.feed, 3000)--3s喂一次狗
  13. end
  14. log.info("main", "air8000_gnss")
  15. mcu.hardfault(0) --死机后停机,一般用于调试状态
  16. pm.ioVol(pm.IOVOL_ALL_GPIO, 3300) -- 所有GPIO高电平输出3.3V
  17. require("uart1_8000")
  18. function test_gnss()
  19. log.debug("提醒", "室内无GNSS信号,定位不会成功, 要到空旷的室外,起码要看得到天空")
  20. pm.power(pm.GPS, true)
  21. uart.setup(2,115200)
  22. end
  23. sys.taskInit(test_gnss)
  24. uart.on(2, "receive", function(id, len)
  25. local s = ""
  26. repeat
  27. s = uart.read(id, 2048)
  28. if #s > 0 then -- #s 是取字符串的长度
  29. -- 如果传输二进制/十六进制数据, 部分字符不可见, 不代表没收到
  30. -- 关于收发hex值,请查阅 https://doc.openluat.com/article/583
  31. log.info("uart2", "receive", id, #s, s)
  32. uart.write(1, s)
  33. end
  34. until s == ""
  35. end)
  36. -- 用户代码已结束---------------------------------------------
  37. -- 结尾总是这一句
  38. sys.run()
  39. -- sys.run()之后后面不要加任何语句!!!!!