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