From 6a19a2e2e7c86b9df50e57d36e62fd4cb9079fbf Mon Sep 17 00:00:00 2001 From: WXK <287788329@qq.com> Date: 星期三, 11 九月 2024 15:48:05 +0800 Subject: [PATCH] 2.0,双spi测试固件开发完成,彭笑语测试完了。 --- Src/radio/sx126x-board.c | 45 +++++++++++++++++++++++++++++++++------------ 1 files changed, 33 insertions(+), 12 deletions(-) diff --git a/Src/radio/sx126x-board.c b/Src/radio/sx126x-board.c index a079fe7..1245ef3 100644 --- a/Src/radio/sx126x-board.c +++ b/Src/radio/sx126x-board.c @@ -23,9 +23,9 @@ #include "sx126x-board.h" #include "main.h" #include "stm32l0xx_hal_spi.h" - +#include "Spi.h" extern SPI_HandleTypeDef hspi1; - +extern SPI_HandleTypeDef hspi2; //void HAL_Delay_nMS( uint32_t Delay ) //{ @@ -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 @@ -46,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 ); } @@ -55,7 +62,7 @@ void SX126xReset( void ) { HAL_Delay_nMS( 10 ); - HAL_GPIO_WritePin( RADIO_nRESET_GPIO_Port, RADIO_nRESET_Pin,GPIO_PIN_RESET); + 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,10 @@ void SX126xWakeup( void ) { + //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); @@ -84,7 +93,9 @@ { SX126xCheckDeviceReady( ); - + //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 ); @@ -105,7 +116,9 @@ void SX126xReadCommand( RadioCommands_t command, uint8_t *buffer, uint16_t size ) { SX126xCheckDeviceReady( ); - + //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 ); @@ -123,7 +136,9 @@ void SX126xWriteRegisters( uint16_t address, uint8_t *buffer, uint16_t size ) { SX126xCheckDeviceReady( ); - + //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 ); @@ -149,7 +164,9 @@ void SX126xReadRegisters( uint16_t address, uint8_t *buffer, uint16_t size ) { SX126xCheckDeviceReady( ); - + //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 ); @@ -176,7 +193,9 @@ void SX126xWriteBuffer( uint8_t offset, uint8_t *buffer, uint8_t size ) { SX126xCheckDeviceReady( ); - + //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 ); @@ -194,7 +213,9 @@ void SX126xReadBuffer( uint8_t offset, uint8_t *buffer, uint8_t size ) { SX126xCheckDeviceReady( ); - + 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