mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik *Problem mit DS1820*


Autor: Michl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich will mit dem 90S8535 den DS1820 Temp-Sensor auslesen bzw.
ansprechen. Kann mir jemeand helfen? Ich habe mal den C-Code
hier reingestellt. Da tut sich nichts bei mir.
(Compiler CodeVision AVR)

unsigned char ow_reset(void)
{
 unsigned char presence;
 DDRD.7 = 1;
 PORTD.7 = 0;
 delay_us(29);
 PORTD.7 = 1;
 delay_us(3);
 DDRD.7 = 0;
 presence = PIND.7;
 delay_us(25);
 return presence;
}

unsigned char read_bit(void)
{
 unsigned char i;
 DDRD.7 = 1;
 PORTD.7 = 0;
 PORTD.7 = 1;
 for(i=0;i<3;i++);
 DDRD.7 = 0;
 return PIND.7;
}

unsigned char read_byte(void)
{
 unsigned char i;
 unsigned value = 0;
 for(i=0;i<8;i++)
  {
   if(read_bit()) value |=0x01 << i;
   delay_us(6);
  }
 return value;
}

Autor: Philipp Sªsse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wieviel ist "nichts"?

Was sagt das "presence" Flag von Deinem Reset? Schon das nichts? Wie
sieht der Bus im Oszi aus (auch "nichts"?). Bist Du sicher, daß die
delay_us() die passende Länge erzeugt (was soll das eigentlich für ein
jecker Umrechnungsfaktor sein?).

Autor: Michl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Auf dem Bus sehe ich nichts. Nur +5V. Hmmm...
Die verdrahtung ist schon richtig

Autor: Michl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oh mann...ich Idiot. Ich hab ihn falsch eingebaut. VCC und GND
vertauscht. Kann es sein, dass er jetzt defekt ist?

Autor: Ronny Schulz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit hoher Wahrscheinlichkeit ja. Ist mir zu Anfang auch schon mehrfach
passiert. TO-92 ist auch nicht meine Welt .. ;)

Meist reagiert der zwar noch, aber die Tempwerte sind Müll.

Autor: Michl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja was komisch ist, ich sehe auf dem Oszi keine Pulse.
Ist mein C-Code (Siehe oben) richtig?

Autor: Michl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann mir da jemand noch Tipps geben?

Autor: Elektrikser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich bastle auch gerade mit dem DS18s20. Allerdings verwende ich
AVR-GCC.
So schlecht sieht dieser Code von dir nicht aus. Beim read_bit würde
ich  Verzögerungen einbauen, es könnte sonst zu schnell gehen.
Gruß Elektrikser

Autor: Michl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Denkt ihr wirklich, dass der DS1820 defekt ist?

Autor: Elektrikser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das kann man nicht so einfach sagen. Aber meistens sind die Bauteile
nicht so begeistert, wenn sie verpolt werden. Da hilft echt nur
ausprobieren....

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.