LabVIEWwilliam hill官网
直播中

Joan_37

9年用户 24经验值
擅长:可编程逻辑 嵌入式技术
私信 关注
[问答]

求助帖:arduino和labview通信问题

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


//Libraries
#include ;


#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

2017-5-26 20:08:33
自顶!!!
求助啊!!!!
举报

Joan_37

2017-5-26 20:31:10
求助!!!!      
举报

樊浩

2017-5-26 22:36:05
你先用串口监视器看看数据
举报

Joan_37

2017-5-26 22:41:08
引用: 左耳朵的耗子 发表于 2017-5-26 22:36
你先用串口监视器看看数据

串口监视器没有数据显示
举报

更多回帖

×
20
完善资料,
赚取积分