Forum: Mikrocontroller und Digitale Elektronik ESP8266 Micropython Grundlagen


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von chris (Gast)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Im Moment versuche ich gerade, Micropython auf einer NodeMCU zu 
benutzen.

Als will ich die serielle Schnittstelle nutzen.
1
from machine import UART
2
uart = UART(1,9600)
3
uart.init(9600)
4
uart.write("hello\n")

Der TXD1 Pin ist laut Bild GPIO2, aber es gibt leider keinen RX-PIN.
Was kann man tun?

von Stefan ⛄ F. (stefanus)


Bewertung
0 lesenswert
nicht lesenswert
Der erste serielle Port ist mit der USB Buchse (durch den USB-UART Chip) 
verbunden.

von chris (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Danke, hab's gerade gesehen:
https://raw.githubusercontent.com/nodemcu/nodemcu-devkit/master/Documents/NODEMCU_DEVKIT_SCH.png
Es sieht so aus, als wenn Schutzwiderstände zwischen dem 
USB-Seriel-Wandler und dem ESP sind. Man könnte die Signale 
"überbügeln".
Blöd ist dann nur, dass man mit dem Terminal oder Web-Repl nicht mehr an 
das MicroPython drann kommt. Sehr ärgerlich ...
Gibt es eine Software-Uart für Micropython?

von Guido L. (guidol1970)


Bewertung
0 lesenswert
nicht lesenswert
chris schrieb:
> Der TXD1 Pin ist laut Bild GPIO2, aber es gibt leider keinen RX-PIN.
> Was kann man tun?

Der TXD1/GPIO02 ist meist auch an der LED die blinkt beim flashen der 
NodeMCU.

Wie waer es dann TXD2/RXD2 auf GPIO13/15 zu nehmen?
Oder geht dies nicht?
(habe meine NodeMCU und WEMOS D1 ESP8266 auch erst mit Micropython 
geflasht)

von chris (Gast)


Bewertung
0 lesenswert
nicht lesenswert
>Wie waer es dann TXD2/RXD2 auf GPIO13/15 zu nehmen?
>Oder geht dies nicht?

Wenn ich mich recht erinnere, ging es aus irgend welchen Gründen damals 
im Januar nicht. Man müsste es mal ausprobieren, ob es immer noch so 
ist.

Hier gibt es eine sehr gut Schnellrefernz für das ESP8266 Micropython:

https://github.com/micropython/micropython/blob/master/docs/esp8266/quickref.rst

Mit den dort aufgeführten Timer-Funktionen kann man eine Art 
Minimultitasking System basteln. Die Auflösung von 1ms reicht aber 
leider nicht für eine Softrware-Uart.

von chris (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hab's gerade noch mal probiert:
1
=== from machine import UART
2
=== uart = UART(2,9600)
3
=== uart.init(9600)
4
=== uart.write("hello\n")
5
Traceback (most recent call last):
6
  File "<stdin>", line 2, in <module>                                           
7
ValueError: UART(2) does not exist

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]
  • [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.