From caa8b8c09c55bdcf027f25d5fbf522f0cebc87b2 Mon Sep 17 00:00:00 2001 From: WXK <287788329@qq.com> Date: 星期日, 24 三月 2024 09:21:52 +0800 Subject: [PATCH] 1 --- Src/radio/sx126x-board.c | 29 ++++++++++++++++++----------- 1 files changed, 18 insertions(+), 11 deletions(-) diff --git a/Src/radio/sx126x-board.c b/Src/radio/sx126x-board.c index e54e064..fcdd3b3 100644 --- a/Src/radio/sx126x-board.c +++ b/Src/radio/sx126x-board.c @@ -23,7 +23,7 @@ #include "sx126x-board.h" #include "main.h" #include "stm32l0xx_hal_spi.h" - +#include "Spi.h" extern SPI_HandleTypeDef hspi1; @@ -33,8 +33,15 @@ // tickstart = HAL_GetTick( ); // while( ( HAL_GetTick( ) - tickstart ) < Delay ); //} +void SX126x_CS_Di( ) +{ + if(!HAL_GPIO_ReadPin( SPIx_CS_GPIO, SPIx_CS)) + { + HAL_GPIO_WritePin( SPIx_CS_GPIO, SPIx_CS,GPIO_PIN_SET); + printf("uwb_cs_error\r\n"); + } - +} /*! * @brief Sends txBuffer and receives rxBuffer @@ -55,8 +62,8 @@ void SX126xReset( void ) { HAL_Delay_nMS( 10 ); - HAL_GPIO_WritePin( RADIO_nRESET_GPIO_Port, RADIO_nRESET_Pin,GPIO_PIN_RESET); - HAL_Delay_nMS( 20 ); + HAL_GPIO_WritePin( RADIO_nRESET_GPIO_Port, RADIO_nRESET_Pin,GPIO_PIN_RESET); + delay_us( 2000 ); HAL_GPIO_WritePin( RADIO_nRESET_GPIO_Port, RADIO_nRESET_Pin,GPIO_PIN_SET); HAL_Delay_nMS( 10 ); } @@ -69,8 +76,8 @@ void SX126xWakeup( void ) { + SX126x_CS_Di( ); HAL_GPIO_WritePin( RADIO_NSS_GPIO_Port, RADIO_NSS_Pin,GPIO_PIN_RESET); - SpiInOut(RADIO_GET_STATUS); SpiInOut(0); @@ -84,7 +91,7 @@ { SX126xCheckDeviceReady( ); - + SX126x_CS_Di( ); HAL_GPIO_WritePin( RADIO_NSS_GPIO_Port, RADIO_NSS_Pin,GPIO_PIN_RESET); SpiInOut(( uint8_t )command ); @@ -105,7 +112,7 @@ void SX126xReadCommand( RadioCommands_t command, uint8_t *buffer, uint16_t size ) { SX126xCheckDeviceReady( ); - + SX126x_CS_Di( ); HAL_GPIO_WritePin( RADIO_NSS_GPIO_Port, RADIO_NSS_Pin,GPIO_PIN_RESET); SpiInOut(( uint8_t )command ); @@ -123,7 +130,7 @@ void SX126xWriteRegisters( uint16_t address, uint8_t *buffer, uint16_t size ) { SX126xCheckDeviceReady( ); - + SX126x_CS_Di( ); HAL_GPIO_WritePin( RADIO_NSS_GPIO_Port, RADIO_NSS_Pin,GPIO_PIN_RESET); SpiInOut(RADIO_WRITE_REGISTER ); @@ -149,7 +156,7 @@ void SX126xReadRegisters( uint16_t address, uint8_t *buffer, uint16_t size ) { SX126xCheckDeviceReady( ); - + SX126x_CS_Di( ); HAL_GPIO_WritePin( RADIO_NSS_GPIO_Port, RADIO_NSS_Pin,GPIO_PIN_RESET); SpiInOut(RADIO_READ_REGISTER ); @@ -176,7 +183,7 @@ void SX126xWriteBuffer( uint8_t offset, uint8_t *buffer, uint8_t size ) { SX126xCheckDeviceReady( ); - + SX126x_CS_Di( ); HAL_GPIO_WritePin( RADIO_NSS_GPIO_Port, RADIO_NSS_Pin,GPIO_PIN_RESET); SpiInOut( RADIO_WRITE_BUFFER ); @@ -194,7 +201,7 @@ void SX126xReadBuffer( uint8_t offset, uint8_t *buffer, uint8_t size ) { SX126xCheckDeviceReady( ); - + SX126x_CS_Di( ); HAL_GPIO_WritePin( RADIO_NSS_GPIO_Port, RADIO_NSS_Pin,GPIO_PIN_RESET); SpiInOut( RADIO_READ_BUFFER ); -- Gitblit v1.9.3