www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik MSP430 liest vom SHT11 nur das MSB


Autor: Wolfgang-G (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Mit Hilfe eines von mir umgestrickten Programm (Ursprungsprogramm 
"SHTxx_Sample_Code.c" von Sensirion) versuche ich mit einem MSP430F1611 
einen SHT11 auszulesen. Das erste Byte wird wahrscheinlich richtig 
ausgelesen (Wert 5, welcher beim Anhauchen auf 10 steigt;  Daraus 
schließe ich, dass der SHT11 richtig angeschlossen ist). Das 2. Byte 
(LSB) und das 3. Byte (Prüfsumme) werden allerdings immer nur als 0xFF 
gelesen.
Diese Erscheinung tritt sowohl beim Lesen der Luftfeuchtigkeit als auch 
bei der Temperatur auf.
Im Anhang das Originalprogramm von Sensirion und mein abgeändertes 
Teilprogramm.
Vielleicht hat  jemand einen Tipp, wie ich mein Programm umschreiben 
muss, damit ich den SHT11 vollständig auslesen kann.

Die Funktion  void feuchte_SHT11(void)  wird jede Sekunde vom TIMER 
aufgerufen.
MfG

Autor: Frank K. (fchk)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ich hab das gerade gestern zum Laufen gebracht. Anbei mein Code.

fchk

Autor: Frank K. (fchk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nochwas ... ich habe den Verdacht, dass Du nach dem empfangenen Byte 
kein ACK zurücksendest und der SHT deswegen die Übertragung einstellt. 
Schau Dir das nochmal genauer an. Bei allen bis aufs letzte Byte musst 
Du ein 0-Bit zurückschicken, beim letzten ein 1-Bit.

fchk

Autor: Wolfgang-G (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ich hab das gerade gestern zum Laufen gebracht.
Ein Glück, dass ich noch gewartet habe.

>Nochwas ... ich habe den Verdacht, dass Du nach dem empfangenen Byte
>kein ACK zurücksendest und der SHT deswegen die Übertragung einstellt.

Genau, das war es.
Vielen Dank für Deine Mühe.
Dein Programm habe ich mir angesehen, und musste wieder mal feststellen, 
dass meine  Programmierkenntnisse doch sehr unterentwickelt sind. (hat 
aber nichts mit meinem Fehler zu tun) Das werde ich wohl auch nicht mehr 
so richtig lernen. (Generation 70-)
Die in Deinem Programm vorgesehene Spannungskorrektur habe ich im 
Datenblatt nicht gefunden (übersehen?).
Zum anderen frage ich mich, ob es sinnvoll ist, eine im Zehntelbereich 
des Messwertes liegende Korrektur vorzusehen, wenn der Grundfehler des 
Fühlers schon bei +-3% liegt.
Nochmals vielen Dank, Du hast mir sehr geholfen
MfG

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.