Advertisement
pippero

Untitled

Nov 6th, 2022
47
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.20 KB | None | 0 0
  1. #include <SoftwareSerial.h>
  2. #define SSerialRX 10
  3. #define SSerialTX 11
  4. #define SSerialTxControl 3
  5. #define RS485Transmit HIGH
  6. #define RS485Receive LOW
  7.  
  8. SoftwareSerial RS485Serial(SSerialRX, SSerialTX); // RX, TX
  9.  
  10. struct mydata {
  11. int cmd[3] = {822, 4256, 22};
  12. int count[3] = {0, 55, 338};
  13. int temp[3] = {18, 11794, 745};
  14. char str[20] = "hello world!";
  15. float val[2] = {18.8,17.9};
  16. };
  17. mydata dato ;
  18.  
  19.  
  20.  
  21. void setup() {
  22. RS485Serial.begin(9600);
  23. Serial.begin(9600);
  24. pinMode(13, OUTPUT);
  25. pinMode(SSerialTxControl, OUTPUT);
  26. digitalWrite(SSerialTxControl, RS485Receive); // Init Transceiver
  27. }
  28. void loop() {
  29. if (RS485Serial.available()) {
  30. byte n = RS485Serial.read();
  31. if (n == 0) {
  32. Serial.println("mi chiama ");
  33. digitalWrite(13, HIGH);
  34. readSensor();
  35. }
  36. }
  37. }
  38. void readSensor() {
  39. digitalWrite(SSerialTxControl, RS485Transmit);
  40. RS485Serial.write((const uint8_t *)&dato, sizeof(struct mydata));
  41. RS485Serial.write((byte)'\n');
  42. dato.count[1]++;
  43. dato.val[1]=dato.val[1]+0.01;
  44. digitalWrite(SSerialTxControl, RS485Receive);
  45. digitalWrite(13, LOW);
  46. Serial.print("dato.count[1]"); Serial.println(dato.count[1]);
  47. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement