基于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  // 结束防重复包含
相关推荐
饕餮tt14 小时前
基于ESP-IDF的ESP32开发记录——如何初始化ADC并完成转换
esp32·esp-idf
π同学3 天前
ESP-IDF+vscode开发ESP32第九讲——I2S工程1
vscode·esp32·i2s播放音乐
π同学4 天前
ESP-IDF+vscode开发ESP32第八讲——音频信号全解
vscode·esp32·i2s·音频信号
sz4972385996 天前
vscode多种编译环境共存的方法
ide·vscode·stm32·编辑器·esp32
飞睿科技6 天前
乐鑫信息推出ESP-Claw AI智能体框架,物联网进入“聊天造物”时代
人工智能·物联网·esp32·乐鑫科技·ai智能体
阿昊真人10 天前
esp12F 无法进入运行模式 (按复位后闪烁一次无响应)
esp32
weixin_4595489011 天前
立创实战派S3-文件管理器
esp32
π同学12 天前
ESP-IDF+vscode开发ESP32第六讲——SPI
vscode·esp32·spi
sz49723859914 天前
WSL2+VSCode搭建ESP-IDF 开发环境
ide·vscode·编辑器·esp32·wsl
deepwater_zone18 天前
ESP32芯片对比
esp32