基于Arudino ide 的esp8266的多文件编译

本文章以dht11代码为例(c语言格式)

右侧三个点 点击后新建标签

main.c

复制代码
#include "dht11.h" //自定义头文件


void setup() {
  // // 初始化串口
   Serial.begin(115200);
}

void loop() {
  
  DHT11_proc();
  delay(200);
  

  
}

dht11.cpp(但是本人用的c语言)

复制代码
#include "dht11.h"
DHTStable DHT;

void DHT11_proc()
{
  Serial.print("DHT11, \t");
  int chk = DHT.read11(DHT11_4_PIN);
  switch (chk)
  {
    case DHTLIB_OK:  
      Serial.print("OK,\t"); 
      break;
    case DHTLIB_ERROR_CHECKSUM: 
      Serial.print("Checksum error,\t"); 
      break;
    case DHTLIB_ERROR_TIMEOUT: 
      Serial.print("Time out error,\t"); 
      break;
    default: 
      Serial.print("Unknown error,\t"); 
      break;
  }
  // DISPLAY DATA
  Serial.print(DHT.getHumidity(), 1);
  Serial.print(",\t");
  Serial.println(DHT.getTemperature(), 1);

}

dht11.h

复制代码
// 防止头文件被重复包含(核心!)
#ifndef DHT11_H__
#define DHT11_H__

// 1. 引入依赖(如果需要)
#include <Arduino.h>  // 必须引入,否则无法使用pinMode/digitalWrite等Arduino核心函数
#include "DHTStable.h"
extern DHTStable DHT;
#define DHT11_4_PIN   4

void DHT11_proc(void);


#endif  // 结束防重复包含
相关推荐
桔子雨4 天前
C# ESP32/STM32 轻量 Web 能力库:PicoServer.Nano
esp32·webapi·picoserver·picoserver.nano
csdn_aspnet4 天前
单片机IO不够?ULN2003A救急方案,结合STM32/ESP32实战案例,讲透达林顿阵列在IoT硬件中的高效复用
stm32·单片机·物联网·esp32·iot·uln2003a
lingzhilab7 天前
零知派ESP32——基于INA238高精度功率监测芯片的18650锂电池充电状态可视化与数据导出
单片机·esp32·ina238
阿昊真人7 天前
AIR780E MINI开发日志
esp32
温中志9 天前
esp_event_loop_create_default详细解释
esp32·freertos
似是燕归来9 天前
WiFi 模块自动联网自带MQTT协议栈和云服务器串口透传免AT开发
服务器·esp32·wifi模块·mqtt协议
NQBJT14 天前
双轮足机器人 5 连杆逆运动学:从几何模型到嵌入式实现
esp32·逆运动学·轮足机器人
wanghanjiett15 天前
笔记:ESP32驱动SimpleFOC成功(基于Espressif-IDE)
笔记·esp32·foc
NQBJT16 天前
双轮足导盲机器人:多传感融合与全局-局部分层导航系统设计
c++·esp32·openmv·避障·导盲·轮足
net3m3317 天前
mic声音怎么才不容易卡顿 : 环形队列缓存要足够大
esp32·i2s