DS1820 Temperatursensor

OP #511305
Ich verwende einen PIC18F452 mit dem Temperatursensor DS1820 von Dallas, 
der an sich gut funktioniert.

Die Anwendung verbietet jedoch das Maskieren von Interrupts.
Diese stören jedoch das ("grausame") Timing des Sensor-Protokolls.

Ich benötige also einen Sensor mit vergleichbaren Eigenschaften, jedoch 
mit einer Standard-Schnittstelle (SPI, besser I2C).
(1-Wire wird nicht benötigt).
Die Zeit zum Auslesen muss unter 1ms liegen!

Wer kann einen Tipp geben.
#511379
Michael Reschke wrote:

> Die Zeit zum Auslesen muss unter 1ms liegen!


Ist überhaupt kein Problem (zumindest nicht aufm 8051), eine Bitzeit 
dauert ja nur max 60µs.

Mußt also einfach nur das bitweise Auslesen in nen Timerinterrupt 
verlagern.


Bei Interesse könnte ich nen C-Code fürn 8051 posten.

Ich hatte nämlich genau das gleiche Problem, daß die Mainloop nicht 
länger als 1ms unterbrochen werden darf.

Damit dann andere Interrupts nicht stören, habe ich dem 1-wire 
Timerinterupt die Priorität 3 zugewiesen.


Peter
Gast #511387
> Ist überhaupt kein Problem (zumindest nicht aufm 8051), eine Bitzeit
> dauert ja nur max 60µs.

Die für Interrupts kritische Zeit liegt bei nur 15µs. Die Zeit zwischen 
den Bits ist nicht begrenzt, Interrupts dürfen dort auftreten.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 19 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.