求助帖:arduino和labview通信问题

2019-07-17 17:54发布

/* How to use the DHT-22 sensor with Arduino uno
Temperature and humidity sensor
*/


//Libraries
#include <DHT.h>;


#define tem_command 0x11
#define hum_command 0x10
//Constants
#define DHTPIN 2 // what pin we're connected to
#define DHTTYPE DHT22 // DHT 22 (AM2302)
DHT dht(DHTPIN, DHTTYPE); //// Initialize DHT sensor for normal 16mhz Arduino
byte comdata[3] = {0};


void receive_data(void); //接收串口数据
void test_do_data(void); //测试串口数据是否正确,并执行命令




//Variables
int chk;
float hum; //Stores humidity value
float temp; //Stores temperature value


void setup()
{
Serial.begin(9600);
dht.begin();
}
void loop() {
while (Serial.available() > 0) //不断检查串口是否有数据
{
receive_data(); //接收串口数据
test_do_data(); //测试数据是否正确并更新标志位
}
}


void receive_data(void)
{
int i;
for(i = 0; i < 3; i++)
{
comdata = Serial.read();
//延时一会,让串口缓存准备好下一个字节,不延时可能会导致数据丢失
delay(2);
}
}

void test_do_data(void)
{
if(comdata[0] == 0x55) //0x55和0xAA均为命令帧头,用于判断命令是否有效
{
if(comdata[1] = 0xAA)
{
switch (comdata[2])
{
case tem_command: //温度采集并发送
temp= dht.readTemperature();
Serial.print(temp,2);
break;
case hum_command : //湿度采集并发送
hum = dht.readHumidity();
Serial.print(hum,2);
break;
}
}
}
}
《Arduino与labview开发实践》,沈金鑫,机械工业出版社
做的这个DHT22的例子,没有任何数据输出,这是为什么呢?


真的很急!!!!!



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
Joan_37
1楼-- · 2019-07-17 23:35
自顶!!!
求助啊!!!!
Joan_37
2楼-- · 2019-07-18 01:22
求助!!!!      
左耳朵的耗子
3楼-- · 2019-07-18 06:45
你先用串口监视器看看数据
Joan_37
4楼-- · 2019-07-18 07:47
 精彩回答 2  元偷偷看……

一周热门 更多>