Forum: Mikrocontroller und Digitale Elektronik 2. UART (RX) am ESP8266


von Fabian H. (hdr)


Lesenswert?

Hallo,
ich habe ein System aus zwei Prozessoren (Rasenmäherroboter 
Displayeinheit und Hauptprozessor). Diese kommunizieren über eine RS232 
Schnittstelle (3.3V Pegel).
Hier zwischen würde ich gerne ein ESP8266 mit eigener Firmware setzen, 
um eigene Datenpakte einzuschleusen und die Antwort auf meine eigene 
Pakete zu empfangen.
Nun hat der ESP8266 (wenn ich es richtig verstanden habe) nur eine UART.

Ich könnte nun in HW natürlich die UART vom MMI trennen und auf den 
ESP8266 schalten, wenn ich interagieren möchte, habe dann aber Angst, 
dass ich die normale Kommunikation störe, da ich wärend eines Frames die 
Verbindung kappe.

Am liebsten wäre es mir daher, wenn alle über den ESP8266 laufen würden 
und ich meine Daten sauber zwischen den ETX und STX der anderen Daten 
eingliedern würde.

Somit brauche ich am ESP8266 2x RX und 2x TX. (okay, die Daten zum 
Display können auch Original verbleiben) > Also 2x RX und 1x TX.

Meine Frage:
Hat bereits jemand eine Software-RX-Uart im ESP8266 realisiert?
Ich würde nur ungern einen zusätzlichen Controller für das RS232 
Management spendieren, wenn der ESP8266 grundsätzlich selbst in der Lage 
ist dies zu übernehmen.

Vielen Dank für Tipps.

von Ulrich F. (Gast)


Lesenswert?

Der ESP hat 2 UARTs
Wobei, bei einer der beiden nur TxD zur Verfügung stellt.
Wird in der Regel für Debug Ausgaben benutzt.

Siehe hier: https://github.com/sandeepmistry/esp8266-Arduino

Vermutlich suchst du sowas:
https://github.com/plieningerweb/esp8266-software-uart
??

von Fabian H. (hdr)


Lesenswert?

Vielen Dank! Genau diese Information hatte ich gesucht. :)

von Fabian H. (hdr)


Lesenswert?

Oh, hab gerade gesehen, dass es nur bis 38400 Baud läuft. Außerdem finde 
ich es sehr ungünstig, dass ein Byte komplett im Interrupt eingelesen 
wird.

Aber ich brauche leider eine zweite 115200 Baud RX Leitung.

von .. (Gast)


Lesenswert?

Fabian H. schrieb:
> Oh, hab gerade gesehen, dass es nur bis 38400 Baud läuft. Außerdem finde
> ich es sehr ungünstig, dass ein Byte komplett im Interrupt eingelesen
> wird.

dann mach es über einen Timer,
prüfe die buffer variable auf änderung oder value
und hol dann dein byte
>
> Aber ich brauche leider eine zweite 115200 Baud RX Leitung.

die sollten damit gehen.

..

von Nils (Gast)


Lesenswert?

z.B. SPI-UART-Chips gibts von diversen Herstellern.

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
Noch kein Account? Hier anmelden.