From d7f957eb56272e006de3dd404454cdf56de86655 Mon Sep 17 00:00:00 2001 From: yincheng.zhong <634916154@qq.com> Date: 星期日, 25 二月 2024 18:42:52 +0800 Subject: [PATCH] 调通数据上报,测距,同步 --- Src/OnChipDevices/Spi.c | 71 +++++++++++++++++------------------ 1 files changed, 34 insertions(+), 37 deletions(-) diff --git a/Src/OnChipDevices/Spi.c b/Src/OnChipDevices/Spi.c index 0e7d8fd..0ba5ed7 100644 --- a/Src/OnChipDevices/Spi.c +++ b/Src/OnChipDevices/Spi.c @@ -32,9 +32,9 @@ int writetospi ( uint16_t headerLength, - uint8_t *headerBuffer, + uint8_t *headerBuffer, uint32_t bodylength, - uint8_t *bodyBuffer + uint8_t *bodyBuffer ) { @@ -46,30 +46,27 @@ SPIx_CS_GPIO->BRR = SPIx_CS; // delay_ms(1); - tt=HAL_SPI_Transmit(&hspi1,headerBuffer,headerLength,10); - tt=HAL_SPI_Transmit(&hspi1,bodyBuffer,bodylength,10); +// tt=HAL_SPI_Transmit(&hspi1,headerBuffer,headerLength,10); +// tt=HAL_SPI_Transmit(&hspi1,bodyBuffer,bodylength,10); // delay_ms(1); -// for(i = 0; i < headerLength; i++) -// { -// SPIx->DR = headerBuffer[i]; + for(i = 0; i < headerLength; i++) + { + SPIx->DR= headerBuffer[i]; + while ((SPIx->SR & SPI_FLAG_RXNE) == (uint16_t)RESET); + SPIx->DR; -// while ((SPIx->SR & SPI_FLAG_RXNE) == (uint16_t)RESET); + } -// SPIx->DR ; -// } - -// for(i = 0; i < bodylength; i++) -// { -// SPIx->DR = bodyBuffer[i]; - -// while((SPIx->SR & SPI_FLAG_RXNE) == (uint16_t)RESET); - -// SPIx->DR ; -// } + for(i = 0; i < bodylength; i++) + { + SPIx->DR = bodyBuffer[i]; + 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() @@ -86,7 +83,7 @@ int readfromspi ( uint16_t headerLength, - uint8_t *headerBuffer, + uint8_t *headerBuffer, uint32_t readlength, uint8_t *readBuffer ) @@ -96,35 +93,35 @@ decaIrqStatus_t stat ; - // stat = decamutexon() ; + // stat = decamutexon() ; /* Wait for SPIx Tx buffer empty */ //while (port_SPIx_busy_sending()); SPIx_CS_GPIO->BRR = SPIx_CS; - HAL_SPI_Transmit(&hspi1,headerBuffer,headerLength,10); - HAL_SPI_Receive(&hspi1,readBuffer,readlength,10); -// for(i = 0; i < headerLength; i++) -// { -// SPIx->DR = headerBuffer[i]; +// HAL_SPI_Transmit(&hspi1,headerBuffer,headerLength,10); +// HAL_SPI_Receive(&hspi1,readBuffer,readlength,10); + for(i = 0; i < headerLength; i++) + { + SPIx->DR = headerBuffer[i]; -// while((SPIx->SR & SPI_FLAG_RXNE) == (uint16_t)RESET); + while((SPIx->SR & SPI_FLAG_RXNE) == (uint16_t)RESET); -// readBuffer[0] = SPIx->DR ; // Dummy read as we write the header -// } + readBuffer[0] = SPIx->DR ; // Dummy read as we write the header + } -// for(i = 0; i < readlength; i++) -// { -// SPIx->DR = 0; // Dummy write as we read the message body + for(i = 0; i < readlength; i++) + { + SPIx->DR = 0; // Dummy write as we read the message body -// while((SPIx->SR & SPI_FLAG_RXNE) == (uint16_t)RESET); + while((SPIx->SR & SPI_FLAG_RXNE) == (uint16_t)RESET); -// readBuffer[i] = SPIx->DR ;//port_SPIx_receive_data(); //this clears RXNE bit -// } + readBuffer[i] = SPIx->DR ;//port_SPIx_receive_data(); //this clears RXNE bit + } SPIx_CS_GPIO->BSRR = SPIx_CS; - // decamutexoff(stat) ; + // decamutexoff(stat) ; return 0; } // end readfromspi() -- Gitblit v1.9.3