写一个读取方法,方法名为DHT11.cpp
实现方法如下:
#include "DHT11.h"
void DHT11::read(int pin)
{
uint8_t bits[5];
uint8_t cnt = 7;
uint8_t idx = 0;
for (int i=0; i< 5; i++) bits[i] = 0;
delay(200);
pinMode(pin, OUTPUT);
digitalWrite(pin, LOW);
delay(18);
digitalWrite(pin, HIGH);
delayMicroseconds(40);
digitalWrite(pin,LOW);
pinMode(pin, INPUT);
unsigned int loopCnt = 10000;
while(digitalRead(pin) == LOW){
if(loopCnt-- == 0)
{
break;
}
}
loopCnt = 30000;
while(digitalRead(pin) == HIGH){
if(loopCnt-- == 0){
break;
}
}
for(int i=0;i<40;i++){
loopCnt = 10000;
while(digitalRead(pin) == LOW)
{
if(loopCnt-- == 0){
break;
}
}
unsigned long t = micros();
while(digitalRead(pin) == HIGH)
{
if(loopCnt-- == 0){
break;
}
}
if ((micros() - t) > 50) bits[idx] |= (1 << cnt);
if (cnt == 0)
{
cnt = 7;
idx++;
}else{
cnt--;
}
}
humidity = bits[0];
temperature = bits[2];
}
包含头文件,头文件名为DHT11.h
#ifndef DHT11_h
#define DHT11_h
#if defined(ARDUINO) && (ARDUINO >= 100)
#include <Arduino.h>
#else
#include <WProgram.h>
#endif
class DHT11{
public:
/**
* @fn read
* @brief Read DHT11 data
* @param pin: Connect the IO port of the DHT11 data port.
* @return NONE
*/
void read(int pin);
int humidity;
int temperature;
};
#endif
写好上两个文件如下
以上写好的方法关键字、变量名、方法名的使用不会有变色颜色提醒、不易判书写的程序对错;现在加入关键字颜色变化提示,实现方法如下:
添加一个文本文件,文件名为keywords
文件内容如下:
###########################################
##包含头文件名使用的颜色 粗体橙色
###########################################
DHT11 KEYWORD1
DHT KEYWORD1
###########################################
##方法名使用的颜色 细线橙色
###########################################
read KEYWORD2
###########################################
##变量名使用的颜色 粗体绿色
###########################################
temperature LITERAL1
humidity LITERAL1
或是:
保存好,把他们放入以下路径,重新打开Arduino后就可用看到关键字提示的颜色了
进入方法 打开Arduino后 “文件”=>“首选项”就可用了,每个人的路径都有可能不同
在以上路径还要建立一个相应函数的文件夹,要不然就太乱了