Hi
i am working on a project and in the .begin function it is giving error
i tried to solve it but still unable to figure out whats value it actually needs.
Can you please help !
I am attaching that portion of cpp code
I AM NOT TRYING TO MODIFY LIBRARY , I WAS JUST TRYING TO FIGURE OUT WHAT VALUE IT ACTUALLY NEEDS
full error :
C:\Users\sunil\OneDrive\Documents\Arduino\libraries\ModbusMaster-master\ModbusMaster.cpp: In member function 'void ModbusMaster::begin(uint16_t)':
C:\Users\sunil\OneDrive\Documents\Arduino\libraries\ModbusMaster-master\ModbusMaster.cpp:148:18: error: use of deleted function 'HardwareSerial& HardwareSerial::operator=(const HardwareSerial&)'
MBSerial = Serial;
^~~~~~
In file included from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:233:0,
from C:\Users\sunil\OneDrive\Documents\Arduino\libraries\ModbusMaster-master\ModbusMaster.h:53,
from C:\Users\sunil\OneDrive\Documents\Arduino\libraries\ModbusMaster-master\ModbusMaster.cpp:32:
C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/HardwareSerial.h:93:7: note: 'HardwareSerial& HardwareSerial::operator=(const HardwareSerial&)' is implicitly deleted because the default definition would be ill-formed:
class HardwareSerial : public Stream
^~~~~~~~~~~~~~
C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/HardwareSerial.h:93:7: error: non-static const member 'volatile uint8_t* const HardwareSerial::_ubrrh', can't use default assignment operator
C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/HardwareSerial.h:93:7: error: non-static const member 'volatile uint8_t* const HardwareSerial::_ubrrl', can't use default assignment operator
C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/HardwareSerial.h:93:7: error: non-static const member 'volatile uint8_t* const HardwareSerial::_ucsra', can't use default assignment operator
C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/HardwareSerial.h:93:7: error: non-static const member 'volatile uint8_t* const HardwareSerial::_ucsrb', can't use default assignment operator
C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/HardwareSerial.h:93:7: error: non-static const member 'volatile uint8_t* const HardwareSerial::_ucsrc', can't use default assignment operator
C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/HardwareSerial.h:93:7: error: non-static const member 'volatile uint8_t* const HardwareSerial::_udr', can't use default assignment operator```
that library was last modified 11 years ago. I wouldn't expect to much from it.
If I were you - I would install doc walkers modbusmaster from the library manager in the IDE and start with the examples of that library.
Hey noiasca,
as suggested by you, i am using that modbus mastr bydoc walker but the problem is i am unable to define the parameters for modbus like baudrate , data bit , stopbit and parity.
and even in the library it is not predefined/
otherwise i would have done the same setting in modbus slave.
Can you please guide me
// use Serial (port 0); initialize Modbus communication baud rate
Serial.begin(19200);
// communicate with Modbus slave ID 2 over Serial (port 0)
node.begin(2, Serial);
this means, that you setup your Serial and in node.begin you just handover a reference to that Serial.