
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
||
|
Hallo Ihr Fachleute! Ich habe den digitalen Feuchtesensor SHT 71 an mein Applikation Board angeschlossen. Den Quelltext habe ich von diesem Forum bekommen! Ich Entwickle zwar Software unter C++. Dies aber eher im Datenbankbereich. Nun das Problem. Ich bekomme immer die gleichen Werte zurück? 0:1:38 -42,56 99,9 Quelltext: '================= Sensirion SHT11 / 71 steuerung. ' 'Fred Stevens, Niederlanden. 'homepage: [url=http://www.fredstevens.nl]www.fredstevens.nl[/url] ' 'Statinon Sensor über ports 7 und 8 verbunden. 'define Temp1 ad[4] 'Tempsensor 1 'define Temp2 ad[6] 'Tempsensor 2 define sck port[8] define dataout port[7] define Power port [5] define f1 word define ts word define shtvalue word define xy word define cmd byte define i byte define j byte #loop power = on pause 1*50 gosub sht11 goto loop #sht11 Cmd = &B00000011 'temp gosub Getit shtvalue=shtvalue-4000 Print Hour;":";Minute;":";Second, print (temp1*5-250)/10 ;","; print (temp1*5-250) mod 10, print (temp2*5-250)/10 ;","; print (temp2*5-250) mod 10, print shtvalue/100;","; print shtvalue mod 100, Cmd = &B00000101 'hyg gosub Getit ts = shtvalue / 16 i = shtvalue Mod 16 looktab shtab,ts,xy ts=ts-1 looktab shtab,ts,f1 xy = (xy - f1) * i /16 shtvalue=f1 + xy if shtvalue>=1000 then shtvalue=999 print shtvalue/10;","; print shtvalue mod 10 return #getit 'first reset comm. sck=0 Dataout=1 For i = 1 To 12 Sck=1 gosub wait Sck=0 gosub wait Next 'start sequence sck=1 gosub wait Dataout=0 gosub wait Sck=0 gosub wait Sck=1 gosub wait Dataout=1 gosub wait Sck=0 gosub wait 'Shiftout command for i=0 to 7 if (cmd and 128)=0 then dataout=0 else dataout=1 sck=1 gosub wait sck=0 gosub wait cmd=cmd shl 1 next deact dataout sck=1 gosub wait Sck=0 gosub wait #bitwait if dataout<>0 then goto bitwait 'Shiftin data MSB gosub shiftin shtvalue = xy Dataout=0 'ack Sck=1 gosub wait Sck=0 gosub wait deact dataout 'Shiftin Data LSB gosub shiftin shtvalue=shtvalue shl 8 shtvalue = shtvalue Or xy return #shiftin xy=0 for i=0 to 7 sck=1 gosub wait j=abs(dataout) sck=0 gosub wait xy=xy shl 1 xy=xy or j next return #wait return table shtab "sht11a.tab" Bin für jede Hilfe Dankbar. Ich denke ich habe nur etwas übersehen. Oder ich habe den SHT71 gekillt? lg pierre |
| Antwort schreiben |