熊爸的学习时间

玩转 ESP32 + Arduino (二十三) 多文件系统及全

2020-09-18  本文已影响0人  熊爸天下_56c7

之前的工程, 我们一直把所有的代码写在一个文件里, 写在我们来将它们分开

以一个读取sht20的温湿度数据并在串口上打印为例:

我们的规划是这样的

例子:

config.h (总配置头文件)
#if !defined(CONFIG_H)
#define CONFIG_H

#include "Arduino.h"
#include "Wire.h"
#include "uFire_SHT20.h"

uFire_SHT20 sht20;

float currentTemp;
float currentHumi;


void hardware_init();
void sht20getTempAndHumi();
#endif // CONFIG_H

hardware_init.ino //硬件初始化相关
#include "config.h"

void hardware_init()
{
  Wire.begin();
  Serial.begin(115200);
  sht20.begin();
}
al_sht20.ino //sht20操作相关
#include "config.h"
extern float currentTemp;
extern float currentHumi;
void sht20getTempAndHumi()
{
  float _currentTemp = sht20.temperature();
  float _currentHumi = sht20.humidity();

  if(_currentTemp<100)
  {
    currentTemp = _currentTemp;
    currentHumi = _currentHumi;
  }
}
最后: main.ino
#include "config.h"

void setup()
{
  delay(2000); //这句是为了让我手动打开串口助手😂
  hardware_init();
  sht20getTempAndHumi();
  Serial.println(currentTemp);
  Serial.println(currentHumi);
}

void loop()
{
}
上一篇 下一篇

猜你喜欢

热点阅读