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, | ||
+ | |||
+ | ===== Vezetékezés ===== | ||
+ | {{: | ||
+ | ===== Könyvtár ===== | ||
+ | * modbusrtu.h: | ||
+ | * SoftwareSerial.h: | ||
+ | ==== Program ==== | ||
+ | <code c> | ||
+ | |||
+ | #include < | ||
+ | #include < | ||
+ | #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( & | ||
+ | slave.start(); | ||
+ | } | ||
+ | |||
+ | void loop() { | ||
+ | count++; | ||
+ | au16data[0] = count; | ||
+ | delay(100); | ||
+ | slave.poll( au16data, 16 ); | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | {{: | ||