Modbus RTU Slave SW-Serial-lal

A program Arduino UNO-n fut. Az UNO-nak csak egy soros portja van, ezért a sw-serial egy nagyon hasznos funkció, mert több kvázi-UART-tot is nyithatunk vele. Problémája, hogy több kommunikációs megoldással nem működik. Ebben az esetben viszont igen, az Arduino Modbus RTU Slaveként működik, miközben a serial monitor is fut rajta.

Modbus RTU Slave SW-Serial

Program

#include <ModbusRtu.h>
#include <SoftwareSerial.h>
#define SSerialTxControl 10
SoftwareSerial mySerial(2, 3);
int count = 0;
 
// data array for modbus network sharing
uint16_t au16data[16] = {
  3, 1415, 9265, 4, 2, 7182, 28182, 8, 0, 0, 0, 0, 0, 0, 1, -1 };
 
Modbus slave(1); 
 
void setup() {
  Serial.begin(9600);
  slave.begin( &mySerial, 9600, SSerialTxControl );
  slave.start();
}
 
void loop() {
  count++;
  au16data[0] = count;
  delay(100);
  slave.poll( au16data, 16 );
}

Log