sx126x_driver.lua 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. --- 模块功能:sx126x模块驱动
  2. -- 读取FLASH ID
  3. -- @author openLuat
  4. -- @module spi.testSpiFlash
  5. -- @license MIT
  6. -- @copyright openLuat
  7. -- @release 2018.03.27
  8. module(...,package.seeall)
  9. require"utils"
  10. require"pm"
  11. pm.wake("wake11")
  12. require"pins"
  13. -- require "sx126x_reg"
  14. require "Drv_spi"
  15. SX126xResetGPIO = pins.setup(pio.P0_13,0)
  16. -- 初始化SPI
  17. function SX126xIoInit()
  18. Drv_spi.SPI_GPIO_Init()
  19. end
  20. -- 初始化SX126x
  21. function SX126xInit()
  22. SX126xIoInit()
  23. end
  24. -- 复位SX126x
  25. function SX126xReset()
  26. sys.wait(10)
  27. SX126xResetGPIO(0)
  28. sys.wait(20)
  29. SX126xResetGPIO(1)
  30. sys.wait(10)
  31. end
  32. --测试案例
  33. sys.taskInit(function ()
  34. sys.wait(3000)
  35. -- SX126xInit()
  36. sys.wait(3000)
  37. i = 0
  38. while true do
  39. -- local ret = Drv_spi.drv_spi_read_write_byte("1D0740000000",4)
  40. -- log.info("提取结果", ret) -- 输出: 1D0F
  41. log.info("计算结果", i%2)
  42. if i%2 == 0 then
  43. log.info("1")
  44. SX126xResetGPIO(1)
  45. else
  46. log.info("0")
  47. SX126xResetGPIO(0)
  48. end
  49. i = i + 1
  50. sys.wait(3*1000)
  51. end
  52. spi.close(spi.SPI_1)
  53. end)