Advertisement
hms11

ModBus Test

Mar 19th, 2024
19
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.61 KB | None | 0 0
  1. //Defining header Files
  2.  
  3. #include <ModbusMaster.h>
  4.  
  5. #define MAX485_DE_RE 4
  6.  
  7. ModbusMaster node; //object node for class ModbusMaster
  8.  
  9. void preTransmission()
  10. {
  11. digitalWrite(MAX485_DE_RE, HIGH);
  12. }
  13.  
  14. void postTransmission()
  15. {
  16. digitalWrite(MAX485_DE_RE, LOW);
  17. }
  18.  
  19. void setup()
  20. {
  21. pinMode(MAX485_DE_RE, OUTPUT);
  22.  
  23. digitalWrite(MAX485_DE_RE, LOW);
  24.  
  25. Serial.begin(115200);
  26. // Transmission mode: MODBUS-RTU, Baud rate: 9600bps, Data bits: 8, Stop bit: 1, Check bit: no
  27. Serial1.begin(9600, SERIAL_8N1, 16, 17);
  28.  
  29. // Slave address: the factory default is 01H (set according to the need, 00H to FCH)
  30. node.begin(1, Serial1);
  31. node.preTransmission(preTransmission);
  32. node.postTransmission(postTransmission);
  33. }
  34. //Setup ends here
  35.  
  36. void loop()
  37. {
  38. // The 03H Function Code Example: Read The Atmospheric Temperature, Humidity & Pressure
  39. // Host Scan Order (Slave addr:0x01): 01 03 00 00 00 03 05CB
  40. // Slave Response: 01 03 06 01 21 0164 2728 C76E
  41. // Address of the first register Lo bytes is 00
  42. // Number of registers of Lo bytes is 03
  43. uint8_t result = node.readHoldingRegisters( 0, 3 );
  44. Serial.print("result = ");
  45. Serial.println( result );
  46.  
  47. delay (1000);
  48.  
  49. if (result == node.ku8MBSuccess)
  50. {
  51. Serial.print("Temperature: ");
  52. Serial.print(node.getResponseBuffer(0)/10.00);
  53. Serial.println("degC");
  54. Serial.print("Humidity: ");
  55. Serial.print(node.getResponseBuffer(1)/10.00);
  56. Serial.println("%");
  57. Serial.print("Pressure: ");
  58. Serial.print(node.getResponseBuffer(2)/10.00);
  59. Serial.println("mbar");
  60. }
  61.  
  62. Serial.print("\n");
  63. delay(1000);
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement