25| 0
|
[ESP8266/ESP32] 求助大佬,我的代码一直卡在读取传感器数据代码不运行 |
#include <Arduino.h> #include <ModbusMaster.h> #define RS485_RX 16 #define RS485_TX 17 ModbusMaster node; void setup() { Serial.begin(115200); // 用于打印输出到串口监视器 Serial.println("Setup Start"); Serial1.begin(115200, SERIAL_8N1, RS485_RX, RS485_TX); // 用于和485设备通讯 node.begin(1, Serial1); // Modbus主站节点初始化 Serial.println("Modbus RTU Wind Speed Sensor Test"); } void loop() { Serial.println("Loop running..."); uint8_t result = node.readHoldingRegisters(0x0000, 1); if (result == node.ku8MBSuccess) { uint16_t windSpeedRaw = node.getResponseBuffer(0); float windSpeed = windSpeedRaw / 10.0f; Serial.print("Wind Speed: "); Serial.print(windSpeed); Serial.println(" m/s"); } else { Serial.print("Modbus Error: "); Serial.println(result, HEX); } delay(1000); } 这是代码 连线图大概是图片里的方式,只是芯片用的是esp32-wroom,电源模块直接用了12v的电源模块。 然后烧录程序之后我的串口监视器运行到Serial.println("Loop running..."); 直接跳到Serial.print("Modbus Error: "); Serial.println(result, HEX); 然后串口输出一直是这样的: ---- 已打开串行端口 COM8 ---- Modbus Error: E2 Loop running... Loop running1... Modbus Error: E2 Loop running... Loop running1... Modbus Error: E2 Loop running... Loop running1... Modbus Error: E2 Loop running... Loop running1... Modbus Error: E2 Loop running... Loop running1... 求助大佬,是哪里出了问题,要怎么解决啊? |
© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed