From eea5d7269531c1b2744db2663412674ac121407e Mon Sep 17 00:00:00 2001 From: guowenxue <guowenxue@gmail.com> Date: Sat, 19 Jun 2021 23:43:02 +0800 Subject: [PATCH] Add Lux and Noisy ADC sensors support --- src/ISKv1/Core/Src/main.c | 23 ++++++++++++++--------- 1 files changed, 14 insertions(+), 9 deletions(-) diff --git a/src/ISKv1/Core/Src/main.c b/src/ISKv1/Core/Src/main.c index ff6965b..482f6e4 100644 --- a/src/ISKv1/Core/Src/main.c +++ b/src/ISKv1/Core/Src/main.c @@ -19,13 +19,14 @@ /* USER CODE END Header */ /* Includes ------------------------------------------------------------------*/ #include "main.h" +#include "adc.h" #include "tim.h" #include "usart.h" #include "gpio.h" /* Private includes ----------------------------------------------------------*/ /* USER CODE BEGIN Includes */ -#include "ds18b20.h" + /* USER CODE END Includes */ /* Private typedef -----------------------------------------------------------*/ @@ -66,8 +67,7 @@ int main(void) { /* USER CODE BEGIN 1 */ - int rv; - float temperature; + uint32_t lux, noisy; /* USER CODE END 1 */ /* MCU Configuration--------------------------------------------------------*/ @@ -90,6 +90,7 @@ MX_GPIO_Init(); MX_USART1_UART_Init(); MX_TIM4_Init(); + MX_ADC1_Init(); /* USER CODE BEGIN 2 */ /* USER CODE END 2 */ @@ -102,13 +103,10 @@ { sysled_hearbeat(); - if( 0 != (rv=ds18b20_get_temperature(&temperature)) ) - { - printf("ERROR: DS18B20 sample temperature failure, rv: %d\r\n", rv); - continue; - } + adc_sample_lux_noisy(&lux, &noisy); + printf("Lux[%lu] Noisy[%lu]\r\n", lux, noisy); - printf("DS18B20 sample temperature %.2f\r\n", temperature); + HAL_Delay(5000); /* USER CODE END WHILE */ @@ -125,6 +123,7 @@ { RCC_OscInitTypeDef RCC_OscInitStruct = {0}; RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + RCC_PeriphCLKInitTypeDef PeriphClkInit = {0}; /** Initializes the RCC Oscillators according to the specified parameters * in the RCC_OscInitTypeDef structure. @@ -153,6 +152,12 @@ { Error_Handler(); } + PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_ADC; + PeriphClkInit.AdcClockSelection = RCC_ADCPCLK2_DIV6; + if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK) + { + Error_Handler(); + } } /* USER CODE BEGIN 4 */ -- Gitblit v1.9.1