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 <string.h>
#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 );
}
}