本文章以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 // 结束防重复包含