| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- --- 模块功能:SPI接口的实现
- -- 读取FLASH ID
- -- @author openLuat
- -- @module spi.testSpiFlash
- -- @license MIT
- -- @copyright openLuat
- -- @release 2018.03.27
- module(...,package.seeall)
- require"utils"
- require"pm"
- pm.wake("wake11")
- require"pins"
- result = nil
- --[[
- 初始化SPI接口
- ]]
- function SPI_GPIO_Init()
- result = spi.setup(spi.SPI_1,0,0,8,800000,1)--初始化spi,
- log.info("spi1",spi.SPI_1)
- -- log.info("Lora Spi init :",result)
- end
- --[[
- 初始化SPI接口,底层接口
- @param txDat 要发送的数据:string类型
- @param size 要发送的数据长度=要收到的数据长度:例如:1D0740000000 有效数据:1D0740 站位数据:00 要读取的位数0000,4个0,len就是4,实际读取的是两个字节 0x1424
- @return string类型,返回接收到的数据
- ]]
- function drv_spi_read_write_byte(txDat,size)
- local ret = spi.send_recv(spi.SPI_1,string.fromHex(txDat)):toHex()
- -- log.info("spi_read_write_byte",ret)
- if size == nil or size == 0 then
- return 0
- else
- return string.sub(ret, -size*2)
- end
- end
- --测试案例
- -- sys.taskInit(function ()
- -- sys.wait(3000)
- -- SPI_GPIO_Init()
- -- sys.wait(3000)
- -- while true do
- -- local ret = drv_spi_read_write_byte("1D0740000000",4)
- -- log.info("提取结果", ret) -- 输出: 1D0F
- -- sys.wait(2000)
- -- end
- -- spi.close(spi.SPI_1)
- -- end)
|