【求助】SHT1x库与Arduino 1.01不兼容啊
搞了个SHT10,结果发现网上找的库用不了,后来用Arduino 0023试了一下完全正常。再测试一下发现应该是校检第二个时钟出错了(Ack Error 1),然后把库里的sendCommandSHT拉出来单测了一下,确定是这个子程序有问题。
开始以为是shiftout命令有问题,然后用digitalWrite命令重写了一遍,发现问题同样存在。
请各位大侠帮忙找找原因。
下面是附图,取湿度的命令是00101,去温度是00011。前三位地址是000。
这部分代码见下面……把Arduino.h换成Wprogram.h在0023下运行就不会报错……#include <Arduino.h>
#define dataPin10
#define clockPin 11
void setup(){
Serial.begin(9600);
int gTempCmd= 0b00000011;
sendCommandSHT(gTempCmd, dataPin, clockPin);
}
void loop(){
}
void sendCommandSHT(int _command, int data, int clock){
int ack;
// Transmission Start
pinMode(data, OUTPUT);
pinMode(clock, OUTPUT);
digitalWrite(data, HIGH);
digitalWrite(clock, HIGH);
digitalWrite(data, LOW);
digitalWrite(clock, LOW);
digitalWrite(clock, HIGH);
digitalWrite(data, HIGH);
digitalWrite(clock, LOW);
// The command (3 msb are address and must be 000, and last 5 bits are command)
shiftOut(data, clock, MSBFIRST, _command);
/*digitalWrite(data, LOW);
digitalWrite(clock, HIGH);
digitalWrite(clock, LOW);//1
digitalWrite(clock, HIGH);
digitalWrite(clock, LOW);//2
digitalWrite(clock, HIGH);
digitalWrite(clock, LOW);//3
digitalWrite(clock, HIGH);
digitalWrite(clock, LOW);//4
digitalWrite(clock, HIGH);
digitalWrite(clock, LOW);//5
digitalWrite(clock, HIGH);
digitalWrite(clock, LOW);//6
digitalWrite(data, HIGH);
digitalWrite(clock, HIGH);
digitalWrite(clock, LOW);//7
digitalWrite(clock, HIGH);
digitalWrite(clock, LOW);//8
*/
// Verify we get the correct ack
digitalWrite(clock, HIGH);
pinMode(data, INPUT);
ack = digitalRead(data);
if (ack != LOW) {
Serial.println("Ack Error 0");
}
digitalWrite(clock, LOW);
ack = digitalRead(data);
if (ack != HIGH) {
Serial.println("Ack Error 1");
}
} 不懂帮顶
我这个试试,1.01的库 飞翔的红猪 发表于 2012-7-24 07:57 static/image/common/back.gif
我这个试试,1.01的库
谢谢了,不过还是用不了,我已经和原作者联系过了,好像确实存在这个问题 再检查一下你的硬件是否符合要求,有时缺的就是一个合适的上拉电阻,湿度低字节就可能全是ff。。 飞翔的红猪 发表于 2012-7-24 10:12 static/image/common/back.gif
再检查一下你的硬件是否符合要求,有时缺的就是一个合适的上拉电阻,湿度低字节就可能全是ff。。
直接买的焊好的,所以应该没有问题。而且在1.0里测试了,完全没问题的 我今天自己做了一个sht10模块,1.0.1下稳定运行。。。明天我写个帖子,把代码和库发出哈。 我的读数有问题啊~~~-40几度 飞翔的红猪 发表于 2012-7-24 07:57 static/image/common/back.gif
我这个试试,1.01的库
今天遇到问题,下了这个. 好使... 飞翔的红猪 发表于 2012-7-24 10:12 static/image/common/back.gif
再检查一下你的硬件是否符合要求,有时缺的就是一个合适的上拉电阻,湿度低字节就可能全是ff。。
你的这个库好用,可以用在IDE1.0.2上面,而且店主确实忘了10k电阻,谢谢提醒!
页:
[1]