From 49e8ee393027960925ebb491d469e512c247ce24 Mon Sep 17 00:00:00 2001 From: WXK <287788329@qq.com> Date: 星期五, 13 九月 2024 11:47:23 +0800 Subject: [PATCH] 1.29,修复不能升级的bug --- Src/radio/sx126x-board.c | 32 +++++++++++++++++++++++--------- 1 files changed, 23 insertions(+), 9 deletions(-) diff --git a/Src/radio/sx126x-board.c b/Src/radio/sx126x-board.c index fcdd3b3..1245ef3 100644 --- a/Src/radio/sx126x-board.c +++ b/Src/radio/sx126x-board.c @@ -25,7 +25,7 @@ #include "stm32l0xx_hal_spi.h" #include "Spi.h" extern SPI_HandleTypeDef hspi1; - +extern SPI_HandleTypeDef hspi2; //void HAL_Delay_nMS( uint32_t Delay ) //{ @@ -53,7 +53,7 @@ uint8_t SpiInOut( uint8_t txBuffer) { uint8_t rxData = 0; - HAL_SPI_TransmitReceive(&hspi1,&txBuffer,&rxData,1, 1000); + HAL_SPI_TransmitReceive(&hspi2,&txBuffer,&rxData,1, 1000); return( rxData ); } @@ -76,7 +76,9 @@ void SX126xWakeup( void ) { - SX126x_CS_Di( ); + //SX126x_CS_Di( ); + if(!HAL_GPIO_ReadPin( SPIx_CS_GPIO, SPIx_CS)) + return; HAL_GPIO_WritePin( RADIO_NSS_GPIO_Port, RADIO_NSS_Pin,GPIO_PIN_RESET); SpiInOut(RADIO_GET_STATUS); SpiInOut(0); @@ -91,7 +93,9 @@ { SX126xCheckDeviceReady( ); - SX126x_CS_Di( ); + //SX126x_CS_Di( ); + if(!HAL_GPIO_ReadPin( SPIx_CS_GPIO, SPIx_CS)) + return; HAL_GPIO_WritePin( RADIO_NSS_GPIO_Port, RADIO_NSS_Pin,GPIO_PIN_RESET); SpiInOut(( uint8_t )command ); @@ -112,7 +116,9 @@ void SX126xReadCommand( RadioCommands_t command, uint8_t *buffer, uint16_t size ) { SX126xCheckDeviceReady( ); - SX126x_CS_Di( ); + //SX126x_CS_Di( ); + if(!HAL_GPIO_ReadPin( SPIx_CS_GPIO, SPIx_CS)) + return; HAL_GPIO_WritePin( RADIO_NSS_GPIO_Port, RADIO_NSS_Pin,GPIO_PIN_RESET); SpiInOut(( uint8_t )command ); @@ -130,7 +136,9 @@ void SX126xWriteRegisters( uint16_t address, uint8_t *buffer, uint16_t size ) { SX126xCheckDeviceReady( ); - SX126x_CS_Di( ); + //SX126x_CS_Di( ); + if(!HAL_GPIO_ReadPin( SPIx_CS_GPIO, SPIx_CS)) + return; HAL_GPIO_WritePin( RADIO_NSS_GPIO_Port, RADIO_NSS_Pin,GPIO_PIN_RESET); SpiInOut(RADIO_WRITE_REGISTER ); @@ -156,7 +164,9 @@ void SX126xReadRegisters( uint16_t address, uint8_t *buffer, uint16_t size ) { SX126xCheckDeviceReady( ); - SX126x_CS_Di( ); + //SX126x_CS_Di( ); + if(!HAL_GPIO_ReadPin( SPIx_CS_GPIO, SPIx_CS)) + return; HAL_GPIO_WritePin( RADIO_NSS_GPIO_Port, RADIO_NSS_Pin,GPIO_PIN_RESET); SpiInOut(RADIO_READ_REGISTER ); @@ -183,7 +193,9 @@ void SX126xWriteBuffer( uint8_t offset, uint8_t *buffer, uint8_t size ) { SX126xCheckDeviceReady( ); - SX126x_CS_Di( ); + //SX126x_CS_Di( ); + if(!HAL_GPIO_ReadPin( SPIx_CS_GPIO, SPIx_CS)) + return; HAL_GPIO_WritePin( RADIO_NSS_GPIO_Port, RADIO_NSS_Pin,GPIO_PIN_RESET); SpiInOut( RADIO_WRITE_BUFFER ); @@ -201,7 +213,9 @@ void SX126xReadBuffer( uint8_t offset, uint8_t *buffer, uint8_t size ) { SX126xCheckDeviceReady( ); - SX126x_CS_Di( ); + if(!HAL_GPIO_ReadPin( SPIx_CS_GPIO, SPIx_CS)) + return; + //SX126x_CS_Di( ); HAL_GPIO_WritePin( RADIO_NSS_GPIO_Port, RADIO_NSS_Pin,GPIO_PIN_RESET); SpiInOut( RADIO_READ_BUFFER ); -- Gitblit v1.9.3