Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Feuchte immer gleicher wert??? HILFE! Kategorie: Programmierung Basic (von Pierre - 9.05.2005 23:08)
Pierre nutzt:  CC1-M-Unit V1.2/2.0
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

Bisherige Antworten:

Re: Feuchte immer gleicher wert??? HILFE! (von ManfredW - 10.05.2005 20:06)
    HILFE! (von Pierre - 11.05.2005 12:53)
Re: Feuchte immer gleicher wert??? HILFE! (von Gerhard - 9.05.2005 23:30)
    Re: Feuchte immer gleicher wert??? HILFE! (von Pierre - 9.05.2005 23:47)
        Re: Feuchte immer gleicher wert??? HILFE! (von Gerhard - 10.05.2005 22:54)
            Re: Feuchte immer gleicher wert??? HILFE! (von Pierre - 12.05.2005 9:29)
                Re: Feuchte immer gleicher wert??? HILFE! (von Stefan Tappertzhofen - 14.05.2005 16:42)
                Re: Feuchte immer gleicher wert??? HILFE! (von Stefan Tappertzhofen - 14.05.2005 16:39)