Selaa lähdekoodia

测试dio中断相关问题

xuxinyi 3 kuukautta sitten
vanhempi
commit
d990bd5f06
3 muutettua tiedostoa jossa 5 lisäystä ja 4 poistoa
  1. 1 1
      drv_periph/Drv_spi.lua
  2. 1 1
      drv_periph/radio.lua
  3. 3 2
      drv_periph/sx126x_driver.lua

+ 1 - 1
drv_periph/Drv_spi.lua

@@ -37,7 +37,7 @@ end
     @return string类型,返回接收到的数据
 ]]
 function drv_spi_read_write_byte(txDat,size)
-    sys.wait(20)
+    -- sys.wait(20)
     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

+ 1 - 1
drv_periph/radio.lua

@@ -12,7 +12,7 @@ function RadioInit()
     sx126x_driver.SX126xSetRegulatorMode(sx126x_reg.RadioStandbyModes_t.USE_DCDC)
     sx126x_driver.SX126xSetBufferBaseAddress("00","00")
     sx126x_driver.SX126xSetTxParams( "00", sx126x_reg.RadioRampTimes_t.RADIO_RAMP_200_US )
-    sx126x_driver.SX126xSetDioIrqParams( sx126x_reg.RadioIrqMasks_t.IRQ_RADIO_ALL, sx126x_reg.RadioIrqMasks_t.IRQ_RADIO_ALL, sx126x_reg.RadioIrqMasks_t.IRQ_RADIO_NONE, sx126x_reg.RadioIrqMasks_t.IRQ_RADIO_NONE )
+    sx126x_driver.SX126xSetDioIrqParams( "FF", sx126x_reg.RadioIrqMasks_t.IRQ_RADIO_ALL, sx126x_reg.RadioIrqMasks_t.IRQ_RADIO_NONE, sx126x_reg.RadioIrqMasks_t.IRQ_RADIO_NONE )
 end
 
 function RadioStandby()

+ 3 - 2
drv_periph/sx126x_driver.lua

@@ -221,8 +221,8 @@ end
 -- TODU : 参数配置问题,好像并不影响发生。这里主要是配置中断设置的。
 function SX126xSetDioIrqParams(irqMask, dio1Mask, dio2Mask, dio3Mask )
     local buf = {"02","01","02","01","00","00","00","00"}
-    -- buf[2] = irqMask
-    -- buf[4] = irqMask
+    buf[2] = irqMask
+    buf[4] = irqMask
     local jsondata = json.encode(buf)
     log.info("SX126xSetModulationParams.encode",jsondata)
     SX126xWriteCommand(sx126x_reg.RadioCommands.RADIO_CFG_DIOIRQ,buf)
@@ -416,6 +416,7 @@ function SX126xSendPayload(payload,size,timeout)
 end
 
 function RadioSend(buffer,size,time_out) 
+    SX126xSetDioIrqParams( "01", sx126x_reg.RadioIrqMasks_t.IRQ_RADIO_ALL, sx126x_reg.RadioIrqMasks_t.IRQ_RADIO_NONE, sx126x_reg.RadioIrqMasks_t.IRQ_RADIO_NONE )--SX126xSetDioIrqParams( sx126x_reg.RadioIrqMasks_t.IRQ_RADIO_ALL, sx126x_reg.RadioIrqMasks_t.IRQ_RADIO_ALL, sx126x_reg.RadioIrqMasks_t.IRQ_RADIO_NONE, sx126x_reg.RadioIrqMasks_t.IRQ_RADIO_NONE )
     log.info("RadioSend",buffer,size,time_out)
     SX126xCopy.PacketParams.Params.LoRa.PayloadLength = size
     SX126xSetPacketParams(SX126xCopy.PacketParams)