Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <SoftwareSerial.h>
- #define SSerialRX 10
- #define SSerialTX 11
- #define SSerialTxControl 3
- #define RS485Transmit HIGH
- #define RS485Receive LOW
- SoftwareSerial RS485Serial(SSerialRX, SSerialTX); // RX, TX
- struct mydata {
- int cmd[3] = {822, 4256, 22};
- int count[3] = {0, 55, 338};
- int temp[3] = {18, 11794, 745};
- char str[20] = "hello world!";
- float val[2] = {18.8,17.9};
- };
- mydata dato ;
- void setup() {
- RS485Serial.begin(9600);
- Serial.begin(9600);
- pinMode(13, OUTPUT);
- pinMode(SSerialTxControl, OUTPUT);
- digitalWrite(SSerialTxControl, RS485Receive); // Init Transceiver
- }
- void loop() {
- if (RS485Serial.available()) {
- byte n = RS485Serial.read();
- if (n == 0) {
- Serial.println("mi chiama ");
- digitalWrite(13, HIGH);
- readSensor();
- }
- }
- }
- void readSensor() {
- digitalWrite(SSerialTxControl, RS485Transmit);
- RS485Serial.write((const uint8_t *)&dato, sizeof(struct mydata));
- RS485Serial.write((byte)'\n');
- dato.count[1]++;
- dato.val[1]=dato.val[1]+0.01;
- digitalWrite(SSerialTxControl, RS485Receive);
- digitalWrite(13, LOW);
- Serial.print("dato.count[1]"); Serial.println(dato.count[1]);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement