直接上代码
#include <ArduinoRS485.h> // ArduinoModbus depends on the ArduinoRS485 library
#include <ArduinoModbus.h>
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
ModbusRTUClient.begin(9600);
}
int a=0;
void loop() {
Serial.print( read4(0));
delay(1000);
}
//写寄存器
void write4(int a) {
//设置站号,地址和长度(地址从0开始)
ModbusRTUClient.beginTransmission(1, HOLDING_REGISTERS, 0x02, 1);
//写寄存器
ModbusRTUClient.write(a);
//写操作结束
ModbusRTUClient.endTransmission();
}
//读寄存器
int read4(int address) {
int a=0;
ModbusRTUClient.requestFrom(1, HOLDING_REGISTERS, address, 1);
while (ModbusRTUClient.available()) {
a = ModbusRTUClient.read();
}
return a;
}
上机测试成功可用