lora模块 获取温湿度和光照数值并显示

1、添加相应的头文件

#include "sht3x.h"
#include "adc_reader.h"

2、初始化


	  OLED_Init(); 
	  hal_temHumInit();
	  ADCS_Init(); //

3、完整代码实现

/**
  ******************************************************************************
  * File Name          : main.c
  * Description        : Main program body
  ******************************************************************************
  */
#include 
#include "board.h"
#include "hal_key.h"
#include "tim-board.h"
#include "timer_handles.h"

#include "sht3x.h"
#include "adc_reader.h"



/**********************************************************************************************
*º¯Êý£ºvoid Init( void )
*¹¦ÄÜ£ºÆ½Ì¨³õʼ»¯
*ÊäÈ룺ÎÞ
*Êä³ö£ºÎÞ
*ÌØÊâ˵Ã÷£ºÎÞ
**********************************************************************************************/
void Init() {
    // ¿ª·¢°åƽ̨³õʼ»¯
    BoardInitMcu();
    BoardInitPeriph();
    keys_init();//°´¼ü³õʼ»¯
    setTimer2Callback(Time2Handler);
    Tim2McuInit(1);//¶¨Ê±Æ÷³õʼ»¯£¬ÉèÖö¨Ê±ÖжÏ1msÖжÏÒ»´Î
	 
}

/**********************************************************************************************
*º¯Êý£ºvoid KeyDownHandler( void )
*¹¦ÄÜ£º°´Å¥Ê¼þ¼àÌý
*ÊäÈ룺ÎÞ
*Êä³ö£ºÎÞ
*ÌØÊâ˵Ã÷£ºÎÞ
**********************************************************************************************/
void KeyDownHandler(void) {
	
}

/**********************************************************************************************
*º¯Êý£ºvoid handlerPre10Ms( void )
*¹¦ÄÜ£º10ºÁÃëÑ­»·
*ÊäÈ룺ÎÞ
*Êä³ö£ºÎÞ
*ÌØÊâ˵Ã÷£ºÑ­»·´¦Àí×Üʱ³¤300ms
**********************************************************************************************/
void handlerPre10Ms(void) {
    for (int delay = 0; delay < 30; delay++) {
        HAL_Delay(10);
        
    }
}


/**
 * Main application entry point.
 */


uint8_t arr1[] ="temp:";
uint8_t arr2[] ="hum:";
uint8_t arr3[] ="light:";

int main( void )
{
    Init();
	
	OLED_Init(); 
	hal_temHumInit();
	ADCS_Init(); //
    
	OLED_ShowString(0,0,arr1);
	OLED_ShowString(0,2,arr2);
	OLED_ShowString(0,4,arr3);
	
    float temp,hum;

    while( 1 )
    {
			call_sht11(&temp, &hum);
			OLED_ShowNum(48,0,(uint32_t)temp,2,16);
			OLED_ShowNum(40,2,(uint32_t)hum,3,16);
			
			AdcScanChannel();
			float light  = 250*AdcReadCh0();
			OLED_ShowNum(48,4,(uint32_t)light,4,16);	
			
			DelayMs( 1000 );
			
    }
}

你可能感兴趣的:(STM32,物联网)