基于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  // 结束防重复包含
相关推荐
欢乐熊嵌入式编程13 天前
选型避坑:ESP32 vs STM32+模组 vs NB-IoT,不同场景怎么选
stm32·单片机·嵌入式硬件·物联网·esp32·嵌入式iot
欢乐熊嵌入式编程14 天前
WIFI通信协议全解析18: ESP32 作为 AP 热点:打造自己的“微型路由器”(附完整实战代码)
物联网·wifi·esp32·蓝牙·wifi协议·ap热点
sanzk15 天前
修改blink让灯闪烁
esp32
乐鑫科技 Espressif16 天前
ESP32-E22 获 Wi-Fi 6E 认证,开源 Linux 驱动同步发布
esp32·wi-fi·乐鑫科技·esp32-e22·wi-fi 6e
Mr_Tony17 天前
ESP32开发板环境安装
esp32
星越华夏20 天前
ESP32-CAM图像传输项目说明文档
java·后端·struts·esp32
2301_8059629322 天前
ESP32 使用 PlatformIO 编译点灯程序
stm32·esp32
weixin_4671822823 天前
Arduino进阶二|自定义类库保姆级教程(从零手写属于自己的传感器类库+完整源码)
c语言·c++·单片机·嵌入式硬件·arduino·c++面向对象·diy库文件
大江东去浪淘尽千古风流人物24 天前
【Micro-WL Robot】桌面级轮腿机器人全栈解析:LQR平衡控制、SimpleFOC驱动与五连杆腿部机构源码深度拆解
驱动开发·机器人·esp32·lqr·simplefoc·轮腿机器人·平衡控制
π同学1 个月前
ESP-IDF+vscode开发ESP32第十五讲——队列、流缓冲区、环形缓冲区
vscode·esp32·缓冲区