Forum: Mikrocontroller und Digitale Elektronik DHT11 Problem


von Fire Eagle (Gast)


Angehängte Dateien:

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!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.