modbustest.ino 640 B

12345678910111213141516171819202122232425262728293031
  1. #include <TasmotaModbus.h>
  2. TasmotaModbus Modbus(14, 12);
  3. void setup() {
  4. Serial.begin(115200);
  5. Modbus.Begin(9600);
  6. Serial.println("\nTasmotaModbus test started");
  7. Modbus.Send(0x01, 0x04, 0, 8);
  8. }
  9. void loop() {
  10. if (Modbus.ReceiveReady()) {
  11. uint8_t buffer[26];
  12. uint8_t error = Modbus.ReceiveBuffer(buffer, 8);
  13. if (error) {
  14. Serial.print("Modbus response error ");
  15. Serial.println(error);
  16. } else {
  17. Serial.print("Modbus received:");
  18. for (int i = 0; i < (buffer[2]) ? buffer[2] +5 : sizeof(buffer); i++) {
  19. Serial.print(" ");
  20. Serial.print(buffer[i], HEX);
  21. }
  22. }
  23. }
  24. }