|
|
@@ -64,54 +64,10 @@ function SX126xWriteCommand(command,buffer)
|
|
|
end
|
|
|
-- -----------------------------------------------SPI基础读写---------------------------------------------------
|
|
|
-- 读取寄存器 完成
|
|
|
--- function SX126xReadRegisters(address,size)
|
|
|
--- local command = sx126x_reg.RadioCommands.RADIO_READ_REGISTER
|
|
|
--- local sendData = command .. address .. "00"
|
|
|
--- local receiverDataCount= size
|
|
|
-
|
|
|
--- while size > 0 do
|
|
|
--- sendData = sendData .. "00"
|
|
|
--- size = size - 1
|
|
|
--- end
|
|
|
-
|
|
|
--- local result = Drv_spi.drv_spi_read_write_byte(sendData,receiverDataCount) --这里乘2的意思是,16进制是两位,但是转成字符串的形式就是4位了。
|
|
|
-
|
|
|
--- log.info("SX126xReadRegisters",result)
|
|
|
--- return result
|
|
|
--- end
|
|
|
-
|
|
|
function SX126xReadRegisters(address,size)
|
|
|
- local receiverData = {}
|
|
|
Drv_spi.drv_spi_read_write_byte(sx126x_reg.RadioCommands.RADIO_READ_REGISTER,0)
|
|
|
- -- Drv_spi.drv_spi_read_write_byte(string.sub(address, 1, 2),0);
|
|
|
- -- Drv_spi.drv_spi_read_write_byte(string.sub(address, 3, 4),0);
|
|
|
- -- receiverData[0] = Drv_spi.drv_spi_read_write_byte("00",1)
|
|
|
- -- log.info("SX126xReadRegisters:",receiverData[0])
|
|
|
- Drv_spi.drv_spi_read_write_byte(string.sub(address, 1, 2),0);
|
|
|
- Drv_spi.drv_spi_read_write_byte(string.sub(address, 3, 4),0);
|
|
|
- Drv_spi.drv_spi_read_write_byte("0");
|
|
|
-
|
|
|
- log.info("SX126xReadRegisters:",string.fromHex("1d"):toHex())
|
|
|
- log.info("SX126xReadRegisters:",string.fromHex("07"):toHex())
|
|
|
- log.info("SX126xReadRegisters:",string.fromHex("40"):toHex())
|
|
|
- log.info("SX126xReadRegisters:",string.fromHex("00"):toHex())
|
|
|
- log.info("SX126xReadRegisters:",string.fromHex("00"):toHex())
|
|
|
- log.info("SX126xReadRegisters:",string.fromHex("1d07400000"):toHex())
|
|
|
- for i = 1, size do
|
|
|
- receiverData[i] = Drv_spi.drv_spi_read_write_byte("00",1)
|
|
|
- log.info("SX126xReadRegisters:",i,":",receiverData[i])
|
|
|
- end
|
|
|
-end
|
|
|
---封装后的读寄存器
|
|
|
-function SX126xReadRegister(address)
|
|
|
- local ret = SX126xReadRegisters(address,1)
|
|
|
- return ret
|
|
|
-end
|
|
|
-
|
|
|
--- 写入寄存器
|
|
|
-function SX126xWriteRegisters(address,buffer,size)
|
|
|
- local command = sx126x_reg.RadioCommands.RADIO_WRITE_REGISTER
|
|
|
- local sendData = command .. address .. "00"
|
|
|
+ sys.wait(20)
|
|
|
+ local sendData = address .. "00"
|
|
|
local receiverDataCount= size
|
|
|
|
|
|
while size > 0 do
|
|
|
@@ -121,12 +77,30 @@ function SX126xWriteRegisters(address,buffer,size)
|
|
|
|
|
|
local result = Drv_spi.drv_spi_read_write_byte(sendData,receiverDataCount) --这里乘2的意思是,16进制是两位,但是转成字符串的形式就是4位了。
|
|
|
|
|
|
-
|
|
|
-
|
|
|
log.info("SX126xReadRegisters",result)
|
|
|
return result
|
|
|
end
|
|
|
|
|
|
+--封装后的读寄存器
|
|
|
+function SX126xReadRegister(address)
|
|
|
+ local ret = SX126xReadRegisters(address,1)
|
|
|
+ return ret
|
|
|
+end
|
|
|
+
|
|
|
+-- 写入寄存器
|
|
|
+function SX126xWriteRegisters(address,buffer)
|
|
|
+ local bufferTotal = ""
|
|
|
+ Drv_spi.drv_spi_read_write_byte(sx126x_reg.RadioCommands.RADIO_WRITE_REGISTER,0)
|
|
|
+ sys.wait(20)
|
|
|
+ for i, data in ipairs(buffer) do
|
|
|
+ bufferTotal = bufferTotal .. data
|
|
|
+ end
|
|
|
+
|
|
|
+ local test = address .. bufferTotal
|
|
|
+ log.info("SX126xWriteRegisters",bufferTotal)
|
|
|
+ Drv_spi.drv_spi_read_write_byte(test,0);
|
|
|
+end
|
|
|
+
|
|
|
function SX126xWriteRegister(address,value)
|
|
|
SX126xWriteRegisters( address,value,1);
|
|
|
end
|
|
|
@@ -404,6 +378,7 @@ local s = string.fromHex("1D0740000000")
|
|
|
|
|
|
sys.taskInit(function ()
|
|
|
sys.wait(5000)
|
|
|
+ local i = 0x00
|
|
|
while true do
|
|
|
-- log.info("testSpiFlash.readFlashID",spi.send_recv(spi.SPI_1,s):toHex())--收发读写
|
|
|
|
|
|
@@ -419,13 +394,10 @@ sys.taskInit(function ()
|
|
|
-- log.info("testSpiFlash.readFlashID",ret)
|
|
|
|
|
|
-- SX126xWriteCommand("1d",{"0740"})
|
|
|
-
|
|
|
- -- log.info("计算结果", SX126xReadRegisters("0740",1))
|
|
|
- log.info("testSpiFlash.sendCommand",spi.send(spi.SPI_1,string.char(0x1d)))--发数据
|
|
|
- log.info("testSpiFlash.sendCommand",spi.send(spi.SPI_1,string.char(0x07)))--发数据
|
|
|
- log.info("testSpiFlash.sendCommand",spi.send(spi.SPI_1,string.char(0x40)))--发数据
|
|
|
- log.info("testSpiFlash.readFlashID",spi.recv(spi.SPI_1,6):toHex())--收数据
|
|
|
- log.info("testSpiFlash.readFlashID",spi.recv(spi.SPI_1,6):toHex())--收数据
|
|
|
+ SX126xWriteRegisters("0740",{string.format("%02X", i),string.format("%02X", i+1)})
|
|
|
+ log.info("计算结果0740寄存器", SX126xReadRegister("0740"))
|
|
|
+ log.info("计算结果0741寄存器", SX126xReadRegister("0741"))
|
|
|
+ i = i + 1
|
|
|
sys.wait(2000)
|
|
|
end
|
|
|
spi.close(spi.SPI_1)
|