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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.