hu:project:modbus_rtu_uno_slave_sw_serial

Differences

This shows you the differences between two versions of the page.

hu:project:modbus_rtu_uno_slave_sw_serial [2022/04/21 15:04] ()
 1:  1:
 +====== 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. 
 +
 +===== Vezetékezés =====
 +{{:hu:arduino:modbus_rtu_over_max485_with_sw_serial_steckplatine.png|Modbus RTU Slave SW-Serial}}
 +===== Könyvtár =====
 +  * modbusrtu.h: https://github.com/smarmengol/Modbus-Master-Slave-for-Arduino
 +  * SoftwareSerial.h: https://www.arduino.cc/en/Reference/softwareSerial
 +==== Program ====
 +<code c>
 +
 +#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 );
 +}
 +</code>
 +
 +{{:hu:arduino:com12221.png|Log}}
  
  • hu/project/modbus_rtu_uno_slave_sw_serial.txt
  • 2022/04/21 15:04
  • ()