ESP32-S3-Touch-LCD-4.3B

OP #7949344
Lesenswert?

hallo, ich bin mir sicher hier kann mir jemand auf die Sprünge helfen.

der ESP32-S3-Touch-LCD-4.3B hat einen RS485 Schaltplan: https://files.waveshare.com/wiki/ESP32-S3-Touch-LCD-4.3B/ESP32-S3-Touch-LCD-4.3B-Sch.pdf

wie muss ich die verdrahtung vom SP3485E (RS485 transceiver) verstehen? Der TX steuert den DE/RE ? In der Software ist der TX GPIO44 und RX GPIO43 Mein Problem ist der ESP empfängt keine Daten und beim senden beschwert er sich über einen crc fehler (schreibt das gesendete spiegelbild als empfangen hin auch wenn der rx an einem andern GIPO hängt) ESP Home ist in Verwendung.

#7949403
Lesenswert?

Michael M. schrieb:

dafür müsste in diesem Fall aber erst mal der TX read enablen weil er da dran hängt.

Mal dir doch einfach mal eine Tabelle mit den logischen Pegeln für TX, RX und DE/RI auf. Beachte dabei den (vorgespannten) Ruhepegel der RS485-Leitung.

Und noch besser wärs wenn er nicht selbst einen loobback simuliert der gar nicht da ist. Schau dir die Schaltung an und erklähr mir was der Hersteller damit wollte.

  1. Dich verwirren ;)
  2. Eine automatische Sende-Empfangsumschaltung realisieren, wodurch man sich den Richtungsumschaltpin spart.
#7949432
Lesenswert?

Solche Beschaltungen hatten wir hier schon ein paar Mal. Also das die Richtungsumschaltung als TX Pin verwendet wird. Wenn du suchst findest du bestimmt andere Threads dazu. Wahrscheinlich wollten man Pins sparen. In meinen Augen Murks. Das traurige ist, dass zumindest auf manchen Boards noch Pins frei sind.

Seither äußerte sich das nicht nur in schlechten Pegeln, sondern auch in viel langsameren Umschaltzeiten von Low auf High, weil da nicht aktiv getrieben wird.

OP #7949477
Lesenswert?

OK also TX ist murx das ist schon klar, funktioniert dafür. RX geht nicht obwohl es hardwareseitig ansich ok ist. RX sollte gehen wenn die Uart TX hi oder undefiniert ist, tut es aber nicht. Ich bekomme (ESP Home) schlicht keine logischen daten im Log angezeigt, wenn ich was sende kommt laut log ein das gesendete 1:1 zurück, auch wenn ich die GPIOs in den Wald konfiguriere, muss also im Uart Treiber Teil sein. Wenn ich am Bus von anderen Geräten was versende sieht jeder de Daten nur der ESP nicht. Wenn der ESP register abfragen will macht er das, bekommt auch Antwort aber er selbst behauptet eben laut log das er ein echo bekommen hat = crc fehler.

das steht im log vom esp: [15:35:32.762][D][uart_debug:114]: >>> 01:04:00:64:00:01:70:15 [15:35:32.774][W][modbus:135]: Modbus CRC Check failed! C022!=64 [15:35:32.879][D][uart_debug:114]: <<< 01:04:00:64:00:01:70:15

das sehen alle anderen: -<R [15:35:32:508] 01 04 00 64 00 01 70 15 01 04 02 00 00 B9 30

: Bearbeitet durch User
#7959360
Lesenswert?

Also reines Softwareproblem. Ich habe sowas mal gelöst indem ich Serial umgeleitet habe.

1
// do not print any debug messages on controller to reduce noise
2
Serial.begin(115200, SERIAL_8N1, RX3, TX3);  // swapped -> UART3
3
Serial1.begin(9600, SERIAL_8N1, RX0, TX0);   // swapped -> UART0
4
Serial2.begin(115200, SERIAL_8N1, RX2, TX2);

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