DHT11 Problem

Gast #2675155
Lesenswert?
• ▲
▼
Hallo!

Ich habe einen DHT11 Temeratur-, Luftfeuchtugkeitssensor, den ich 
ansteuern möchet (erfolgt über einen Pin, aber nicht Dallas!)

Der Vorgang ist: vom MCU aus 18ms auf low, dann 20-40 us 'loslassen' 
(geht durch pull-up high). Der DHT antwortet mit 80us low, dann 80 us 
high als Start Condition. Danach folgen 5 bytes=40 bit, wobei eine 0 = 
50us low, 26us high und 1= 50us low und 70us high.

Soweit, sogut. Eine Variante mit busy wait funktioniert schon, aber die 
zweite wollte ich über Input Capture am PB0 des Atmega8 machen. Hier 
erfolgt die Auswertung der Zeiten erst in Nachhinein, da das ganze so 
viele Takte braucht, dass sonst das input capture nicht mehr stimmt.
Timer0 gibt jede Sekunde den Auftrag zum Messen, aber leider bleibt das 
ganze nach der ersten (erfolgreichen) Messung stecken.

Ich wäre jedem dankbar, der sich die mühe machen würde, um den Code mal 
durchzuschauen, vielleicht hab ich ja was übersehen.

Danke!
Angehängte Dateien:

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.