testSpiFlash.lua 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. --- 模块功能:SPI接口的FLASH功能测试.
  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. local result = spi.setup(spi.SPI_1,0,0,8,800000,1)--初始化spi,
  14. log.info("spi1",spi.SPI_1)
  15. log.info("testSpiFlash.init",result)
  16. local s = string.fromHex("9f000000000000")
  17. --SPI收发字节
  18. -- function drv_spi_read_write_byte(txDat)
  19. -- -- local ret = spi.send_recv(spi.SPI_1,txDat)
  20. -- log.info("testSpiFlash.readFlashID",spi.send_recv(spi.SPI_1,s):toHex())--收发读写
  21. -- end
  22. -- function SX126xWriteRegisters(address,buffer,size)
  23. -- local command = string.fromHex("0D071400000000")
  24. -- log.info("testSpiFlash.readFlashID",spi.send_recv(spi.SPI_1,s):toHex())--收发读写
  25. -- -- drv_spi_read_write_byte(0x0D)
  26. -- -- drv_spi_read_write_byte(( address & 0xFF00 ) >> 8 );
  27. -- -- drv_spi_read_write_byte(address & 0x00FF );
  28. -- end
  29. sys.taskInit(function ()
  30. sys.wait(5000)
  31. while true do
  32. log.info("send start")--收发读写
  33. local command = string.fromHex("1D0740000000")
  34. log.info("testSpiFlash.readFlashID",spi.send_recv(spi.SPI_1,command):toHex())--收发读写
  35. -- log.info("testSpiFlash.readFlashID",spi.send_recv(spi.SPI_1,string.fromHex("1D")):toHex())--收发读写
  36. -- log.info("testSpiFlash.readFlashID",spi.send_recv(spi.SPI_1,string.fromHex("07")):toHex())--收发读写
  37. -- log.info("testSpiFlash.readFlashID",spi.send_recv(spi.SPI_1,string.fromHex("40")):toHex())--收发读写
  38. -- log.info("testSpiFlash.readFlashID",spi.send_recv(spi.SPI_1,string.fromHex("00")):toHex())--收发读写
  39. -- log.info("testSpiFlash.readFlashID",spi.send_recv(spi.SPI_1,string.fromHex("00")):toHex())--收发读写
  40. -- log.info("testSpiFlash.sendCommand",spi.send(spi.SPI_1,string.char(0x0d)))--发数据
  41. -- log.info("testSpiFlash.sendCommand",spi.send(spi.SPI_1,string.char(0x07)))--发数据
  42. -- log.info("testSpiFlash.sendCommand",spi.send(spi.SPI_1,string.char(0x14)))--发数据
  43. -- log.info("testSpiFlash.sendCommand",spi.send(spi.SPI_1,string.char(0xff)))--发数据
  44. -- log.info("testSpiFlash.readFlashID",spi.recv(spi.SPI_1,2):toHex())--收数据
  45. log.info("send end")--收发读写
  46. -- log.info("testSpiFlash.readFlashID",spi.send_recv(spi.SPI_1,s):toHex())--收发读写
  47. -- --下面方法和上面的等价
  48. -- log.info("testSpiFlash.sendCommand",spi.send(spi.SPI_1,string.char(0x9f)))--发数据
  49. -- log.info("testSpiFlash.readFlashID",spi.recv(spi.SPI_1,6):toHex())--收数据
  50. sys.wait(2000)
  51. end
  52. spi.close(spi.SPI_1)
  53. end)