Forum: Mikrocontroller und Digitale Elektronik DS18S20 gibt keine Antwort


von Michael (Gast)


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

von Helfer (Gast)


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?

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.