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; }
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?).
Auf dem Bus sehe ich nichts. Nur +5V. Hmmm... Die verdrahtung ist schon richtig
Oh mann...ich Idiot. Ich hab ihn falsch eingebaut. VCC und GND vertauscht. Kann es sein, dass er jetzt defekt ist?
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.
Ja was komisch ist, ich sehe auf dem Oszi keine Pulse. Ist mein C-Code (Siehe oben) richtig?
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
Das kann man nicht so einfach sagen. Aber meistens sind die Bauteile nicht so begeistert, wenn sie verpolt werden. Da hilft echt nur ausprobieren....
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.