DS18S20 gibt keine Antwort

Gast #2348745
Lesenswert?

hallo zusammen,
vorneweg, das ist mein erstes projekt mit dem DS18S20 und ich wollte ihn 
schritt für schritt über einen attiny2313 auslesen

hab schon einige tutorials gelesen, bekomme aber beim auslesen keine 
antwort. den DS18S20 habe ich mit drei beinen angeschlossen 1(GND), 2 
(PINA1 sowie über 4,7k an VDD) und 3 (VDD). so wies sein sollte.

hier mal mein codeschnipsel in C

....


roe3=1; //Variable wert zuweisen

DDRA=(1<<PA1);  // PINA1 auf Ausgang setzen

PORTA=(0<<PA1);  // PINA1 auf masse ziehen

_delay_us(480);  // 480 µs abwarten

DDRA=(0<<PA1);  // PINA1 auf Eingang setzen

_delay_us(70);  // 70 µs warten nun sollte der DS18S20 DG auf Masse 
ziehen

if (!(PINA & (1<<PINA1)))  // PINA1 abfragen
{
 roe3=2;
}

PORTB=roe3;


...

eigentlich sollte sich durch die bereitschaftsbekundung des DS18S20 der 
Wert der variable roe3 von 1 auf 2 geändert haben. macht er aber bei mir 
nicht.

programiert wird das ganze mit dem AVR studio. hier habe ich den 
attiny2313 ausgewählt und die taktfrequenz auf 8MHz gesetzt. die fuse 
Bits sind über ponyprog entsprechend eingestellt.

habe ich den bereitschaftszustand des DS18S20 mit dem code richtig 
abgefragt?



michael
Gast #2348770
Lesenswert?

Bekanntermaßen funktionierender Code (=> Suche Forum, Codesammlung, von 
dir gefundene Tutorials) funktioniert auf deiner Hardware/Schaltung?

Hast du eine Möglichkeit zu messen, wie genau die Delays (480µs, 70µs) 
eingehalten werden?

Den Pullup-Widerstand an PINA1 hast du?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren