DS18B20 an UART

#3613488
Lesenswert?

Ein gesättigeter Transistor lässt noch ca. 200 mV "stehen" eine Si-Diode 
macht dagegen 600 mV und eine Schottky 300 mV. Ich könnte mir also 
vorstellen, dass das der Grund für den Transi ist.

Warum man dafür aber die UART bemüht ist etwas fraglich, es gibt sehr 
gute Software-only Implementationen, die funktionieren dann an jedem Pin 
und brauchen auch nur einen.
Gast #3613494
Lesenswert?

Max D. schrieb:
> Warum man dafür aber die UART bemüht ist etwas fraglich, es gibt sehr
> gute Software-only Implementationen, die funktionieren dann an jedem Pin
> und brauchen auch nur einen.

Es soll Controller geben, die neben dem Kreisen in der Idle-Loop auch 
noch ein paar andere Dinge erledigen sollen, die wichtiger sind, als die 
1-Wire Kommunikation. Da kann es hilfreich sein, wenn man die verfügbare 
Hardwareunterstützung auch nutzt.
(Firma: TU Darmstadt) #3613503
Lesenswert?

Max D. schrieb:
> Warum man dafür aber die UART bemüht ist etwas fraglich, es gibt sehr
> gute Software-only Implementationen, die funktionieren dann an jedem Pin
> und brauchen auch nur einen.

Der Uart macht die One-Wire Zeiten aber in Hardware. Wenn dagegen beim 
Bitbanging ein Interrupt laenger bedient werden will, dann kann es 
Probleme geben.

Beim STM32 geht auch UART OWI mit nur einem Pin, da man auf Single Wire 
half-duplex und UART-TX als Open Drain umschalten kann.
Gast #3613626
Lesenswert?

Max D. schrieb:
> Ein gesättigeter Transistor lässt noch ca. 200 mV "stehen" eine Si-Diode
> macht dagegen 600 mV und eine Schottky 300 mV. Ich könnte mir also
> vorstellen, dass das der Grund für den Transi ist.

Ok, dachte ich mir. Mit ner BAT42 funktioniert das Konstrukt.

> Warum man dafür aber die UART bemüht ist etwas fraglich, es gibt sehr
> gute Software-only Implementationen, die funktionieren dann an jedem Pin
> und brauchen auch nur einen.

Es gibt auch sehr gute Software UARTS, PWM, I2C, etc. Warum also die 
eingebaute Hardware nutzen? Der zusätzliche Pin macht den Kohl nicht 
fett. Aber während der UART ein 1-Wire Bit sendet/empfängt können die 
Interrupts der anderen Module ebenso bedient werden.
Gast #3613756
Lesenswert?

Uwe Bonnes schrieb:
> Dann lass es mehrere verschiedene Interrupts hintereinander sein...

Nein, dann ist es eine Frage der Interrupt-Priorität.

Ob eine einzelne ISR den Prozessor länger blockiert oder verschiedene 
ISR entsprechend dem Zeitpunkt ihres Auftreten und ihrer Priorität 
nacheinander abgearbeitet werden, macht für Echtzeitbetrieb einen 
riesen Unterschied.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren