From 84324a933cbf69838a284f824ef7d543c5f775d5 Mon Sep 17 00:00:00 2001
From: Wenxue <wenxue.guo@avnet.com>
Date: Tue, 02 Sep 2025 09:53:22 +0800
Subject: [PATCH] HAL库I2C实现SHT20

---
 Core/Src/main.c |   14 ++++++++------
 1 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/Core/Src/main.c b/Core/Src/main.c
index b804c64..779c896 100644
--- a/Core/Src/main.c
+++ b/Core/Src/main.c
@@ -19,6 +19,7 @@
 /* Includes ------------------------------------------------------------------*/
 #include "main.h"
 #include "adc.h"
+#include "i2c.h"
 #include "tim.h"
 #include "usart.h"
 #include "gpio.h"
@@ -26,7 +27,7 @@
 /* Private includes ----------------------------------------------------------*/
 /* USER CODE BEGIN Includes */
 #include "miscdev.h"
-#include "ds18b20.h"
+#include "sht20.h"
 /* USER CODE END Includes */
 
 /* Private typedef -----------------------------------------------------------*/
@@ -70,7 +71,7 @@
 
   /* USER CODE BEGIN 1 */
   int      rv;
-  float    temperature;
+  float    temperature, humidity;
   /* USER CODE END 1 */
 
   /* MCU Configuration--------------------------------------------------------*/
@@ -95,6 +96,7 @@
   MX_ADC1_Init();
   MX_TIM6_Init();
   MX_TIM1_Init();
+  MX_I2C1_Init();
   /* USER CODE BEGIN 2 */
   beep_start(2, 300);
   /* USER CODE END 2 */
@@ -103,14 +105,14 @@
   /* USER CODE BEGIN WHILE */
   while (1)
   {
-	rv = ds18b20_sample( &temperature);
-	if( rv < 0 )
+	rv = sht20_sample_TrH(&temperature, &humidity);
+	if( rv )
 	{
-		printf("ERROR: DS18B20 sample data failure, rv=%d\r\n", rv);
+		printf("ERROR: SHT20 sample data failure, rv=%d\r\n", rv);
 	}
 	else
 	{
-		printf("DS18B20 sample temperature: %.3f\r\n", temperature);
+		printf("SHT20 sample temperature: %.2f relative humidity: %.1f%%\r\n", temperature, humidity);
 	}
 	HAL_Delay(1000);
 

--
Gitblit v1.9.1