mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik LM75 und UART


Autor: Florian Menne (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
hab in cvavr eine Software geschrieben die Daten aus dem lm75 auslesen
soll und dann über uart ausgibt. Leider kommt wörtlich genommen
absoluter Datenmüll heraus und ich weiss nicht wieso! Habe ich was
falsch gemacht? Sourcecode im Anhang!
Danke im Vorraus!

Autor: Marko (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn über die UART müll kommt stimmt oft die
Baudrate nicht. Prüfe auf welchem Tekt dein AVR läuft und
ob Deine Baudrateneinstellung mit der des Terminalprogrammes
übereinstimmt.

Autor: Florian Menne (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ne, difinitiv nicht! Das kann leider nicht sein habe UART einzelnt ohne
den lm75 mit einem Wort getestet funktionierte sehr gut! Kann es sein
das i2c oder besser gesagt der lm75 zu langsam ist? Immerhin hab ich
8MHZ Taktung ohne Warteschleifen!

Autor: Profi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da würd ich mal das Datenblatt befragen, normaler I2C hat 100 kHz, high
Speed 400 kHz. Für höhere Taktzahlen eignet sich eher SPI (oft 16 oder
mehr MHz).

Autor: _CH_ (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
versuche doch mal, dass du den LM75 nur 1-2/s ausliest.
Hatte mal einen ähnlichen Fehler - bei mir lags daran, dass ich zu
schnell hintereinander ausgelesen habe.

Gruß,
Christian

Autor: Florian Menne (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Leider liegt es auch nicht an dem Timing hier habe ich mal ein Bild von
meinem Terminal was das für ein Müll ist. Kann es sein das der Chip
kaput ist? Oder einfach nur falsch angeschlossen? Hat jemand einen
Schaltplan wie man den lm75 am besten anschließt?

Autor: Sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Menno, schon mal drüber nachgedacht das ein printf einen Parameter fürs
interpretieren braucht ?
Du hast einen Temperaturwert in eine int variable temp eingelesen.
Diese willst Du mit printf ausgeben....

Also lese bitte mal ein paar Grundlagen zum printf Befehl wie man eine
solche Variable wohl ausgibt....

Gruß Sven

Autor: Florian Menne (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gut,hab ich gemacht %i benutzt erstmal kommt jetzt kein Müll mehr jedoch
 nur die Zahl 42!

Autor: K2R (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schau mal ins Datenblatt vom LM75; der braucht ca eine halbe Sekunde für
eine Messung, außerdem gibt er den Messwert codiert aus, also von
-128-127 Grad in 1/2 Grad-Schritten.... Dein Ergebnis würde für 21 Grad
Zimmertemperatur sprechen, und daß andauernd der gleiche WErt kommt
liegt vermutlich an der hohen Messrate...

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.