如何使用Nodemcu(Lua)进行多串口通信

问题描述 投票:0回答:1
____________
|          |
|   N      |
|   O   Rx2|<------Tx EnergyMeter(Returns value based on command)
|   D   Tx2|------>Rx EnergyMeter(Receive command)   
|   E      |
|          |
|   M   Rx1|<------Tx Gsm(For MQTT)
|   C   Tx1|------>Rx Gsm(For MQTT)
|   U      |
|          |
-----------

我正在尝试将Gsm模块和电表与Nodemcu相连,如图所示。尽管可以通过Arduino编码实现,但是我只想使用lua来进行。

[如果使用lua脚本,如果我使用“ uart.alt()”此函数,然后单击“保存到Esp”,那么在“ uart.alt()”这一行,保存过程将跳转到不同的usart,代码没有完全保存到ESP中。

Soo在nodemcu中使用多个usart的有效方法是什么(类似于arduino中的软件序列)?

我没有得到符合我要求的完美示例。因此,请给我一个完美的文档或有关此问题的示例。

谢谢。

lua arduino nodemcu
1个回答
0
投票

您没有提供您的NodeMCU品牌,但由于ESP32上没有uart.alt,我猜是8266因此,如果您的NodeMCU是ESP8266,则您的设置存在问题:从ESP8266 documenation:尽管NodeMCU有两个可用的UART(0和1),但UART 1 不具备可以接收数据,因此只能发送。我不是LUA专家,但我想这就是编译器想要告诉您的。

uart.alt()  Change UART pin assignment. 

-表示您可以分配UART 0的引脚

 uart.alt(on)
Parameters

on

0 for standard pins
1 to use alternate pins GPIO13 and GPIO15

因此,这仅适用于NodeMCU ESP8266上的一个uart(UART 0)。如果您使用基于ESP32的NodeMCU启用UART 1会导致ESP32崩溃!原因是默认情况下,UART 1使用的引脚与ESP32闪存相同。

© www.soinside.com 2019 - 2024. All rights reserved.