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