From 27043c6cbe5dc65519c3adbe96868622aab84ba2 Mon Sep 17 00:00:00 2001
From: WXK <287788329@qq.com>
Date: 星期四, 09 十一月 2023 10:10:23 +0800
Subject: [PATCH] 气压计测试程序  1s输出一包高度数据。

---
 Src/ExternalDevices/bmp3.c |   30 ++++++++++++++----------------
 1 files changed, 14 insertions(+), 16 deletions(-)

diff --git a/Src/ExternalDevices/bmp3.c b/Src/ExternalDevices/bmp3.c
index b84abeb..c37e9dd 100644
--- a/Src/ExternalDevices/bmp3.c
+++ b/Src/ExternalDevices/bmp3.c
@@ -880,7 +880,7 @@
                 temp_len = len;
             }
 
-            dev->intf_rslt = dev->write(reg_addr[0], reg_data, temp_len, dev->intf_ptr);
+            dev->intf_rslt = dev->write(reg_addr[0], temp_buff, temp_len, dev->intf_ptr);
 
             /* Check for communication error */
             if (dev->intf_rslt != BMP3_INTF_RET_SUCCESS)
@@ -1782,14 +1782,14 @@
 /*!
  * @brief This internal API reads the calibration data from the sensor, parse
  * it then compensates it and store in the device structure.
- */uint8_t calib_data[BMP3_LEN_CALIB_DATA] = { 0 };
+ */
 static int8_t get_calib_data(struct bmp3_dev *dev)
 {
     int8_t rslt;
     uint8_t reg_addr = BMP3_REG_CALIB_DATA;
 
     /* Array to store calibration data */
-    
+    uint8_t calib_data[BMP3_LEN_CALIB_DATA] = { 0 };
 
     /* Read the calibration data from the sensor */
     rslt = bmp3_get_regs(reg_addr, calib_data, BMP3_LEN_CALIB_DATA, dev);
@@ -1881,7 +1881,7 @@
 
     /* Move index to 0x1F register */
     index = index + 2;
-  //  settings->iir_filter = BMP3_GET_BITS(reg_data[index], BMP3_IIR_FILTER);
+    settings->iir_filter = BMP3_GET_BITS(reg_data[index], BMP3_IIR_FILTER);
 }
 
 /*!
@@ -1933,7 +1933,7 @@
     uint8_t reg_addr[3] = { 0 };
 
     /* No of register data to be read is 4 */
-    uint8_t reg_data[4],reg_data2[4];
+    uint8_t reg_data[4];
     uint8_t len = 0;
 
     rslt = bmp3_get_regs(BMP3_REG_OSR, reg_data, 4, dev);
@@ -1972,9 +1972,7 @@
         {
             /* Burst write the over sampling, ODR and filter
              * settings in the register */
-						rslt = bmp3_get_regs(reg_addr[0], reg_data2, len, dev);
             rslt = bmp3_set_regs(reg_addr, reg_data, len, dev);
-						rslt = bmp3_get_regs(reg_addr[0], reg_data2, len, dev);
         }
     }
 
@@ -2727,17 +2725,17 @@
 {
     int8_t rslt;
 
-//    if ((dev == NULL) || (dev->read == NULL) || (dev->write == NULL) || (dev->delay_us == NULL) ||
-//        (dev->intf_ptr == NULL))
-//    {
-//        /* Device structure pointer is not valid */
-//        rslt = BMP3_E_NULL_PTR;
-//    }
-//    else
-//    {
+    if ((dev == NULL) || (dev->read == NULL) || (dev->write == NULL) || (dev->delay_us == NULL) ||
+        (dev->intf_ptr == NULL))
+    {
+        /* Device structure pointer is not valid */
+        rslt = BMP3_E_NULL_PTR;
+    }
+    else
+    {
         /* Device structure is fine */
         rslt = BMP3_OK;
-   // }
+    }
 
     return rslt;
 }

--
Gitblit v1.9.3