From dbe010cbc556a3f07136b7eac67e62f115285db8 Mon Sep 17 00:00:00 2001 From: yincheng.zhong <634916154@qq.com> Date: 星期日, 24 三月 2024 19:00:15 +0800 Subject: [PATCH] Merge branch '免布线URT-LORA-L071' of http://47.108.70.204:60062/r/XRange_Tag into 免布线URT-LORA-L071 --- Src/OnChipDevices/Spi.c | 31 +++++++++++++++++++------------ 1 files changed, 19 insertions(+), 12 deletions(-) diff --git a/Src/OnChipDevices/Spi.c b/Src/OnChipDevices/Spi.c index ba65d6a..c1422d8 100644 --- a/Src/OnChipDevices/Spi.c +++ b/Src/OnChipDevices/Spi.c @@ -20,7 +20,14 @@ /* Write to SPIx CR1 */ SPIx->CR1 = tmpreg; } - +void Uwb_CS_di() +{ + if(!HAL_GPIO_ReadPin( RADIO_NSS_GPIO_Port, RADIO_NSS_Pin)) + { + HAL_GPIO_WritePin( RADIO_NSS_GPIO_Port, RADIO_NSS_Pin,GPIO_PIN_SET); + printf("LORA_cs_error\r\n"); + } +} /*! ------------------------------------------------------------------------------------------------------------------ * Function: writetospi() * @@ -32,9 +39,9 @@ int writetospi ( uint16_t headerLength, - uint8_t *headerBuffer, + uint8_t *headerBuffer, uint32_t bodylength, - uint8_t *bodyBuffer + uint8_t *bodyBuffer ) { @@ -43,7 +50,7 @@ decaIrqStatus_t stat ; // stat = decamutexon() ; - +Uwb_CS_di(); SPIx_CS_GPIO->BRR = SPIx_CS; // delay_ms(1); // tt=HAL_SPI_Transmit(&hspi1,headerBuffer,headerLength,10); @@ -51,8 +58,8 @@ // delay_ms(1); for(i = 0; i < headerLength; i++) { - SPIx->DR= headerBuffer[i]; - while ((SPIx->SR & SPI_FLAG_RXNE) == (uint16_t)RESET); + SPIx->DR= headerBuffer[i]; + while ((SPIx->SR & SPI_FLAG_RXNE) == (uint16_t)RESET); SPIx->DR; } @@ -60,13 +67,13 @@ for(i = 0; i < bodylength; i++) { SPIx->DR = bodyBuffer[i]; - while ((SPIx->SR & SPI_FLAG_RXNE) == (uint16_t)RESET); + while ((SPIx->SR & SPI_FLAG_RXNE) == (uint16_t)RESET); SPIx->DR ; } SPIx_CS_GPIO->BSRR = SPIx_CS; - // decamutexoff(stat) ; + // decamutexoff(stat) ; return 0; } // end writetospi() @@ -83,7 +90,7 @@ int readfromspi ( uint16_t headerLength, - uint8_t *headerBuffer, + uint8_t *headerBuffer, uint32_t readlength, uint8_t *readBuffer ) @@ -93,11 +100,11 @@ decaIrqStatus_t stat ; - // stat = decamutexon() ; + // stat = decamutexon() ; /* Wait for SPIx Tx buffer empty */ //while (port_SPIx_busy_sending()); - +Uwb_CS_di(); SPIx_CS_GPIO->BRR = SPIx_CS; // HAL_SPI_Transmit(&hspi1,headerBuffer,headerLength,10); // HAL_SPI_Receive(&hspi1,readBuffer,readlength,10); @@ -121,7 +128,7 @@ SPIx_CS_GPIO->BSRR = SPIx_CS; - // decamutexoff(stat) ; + // decamutexoff(stat) ; return 0; } // end readfromspi() -- Gitblit v1.9.3