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=822;
- int count=0;
- int temp=18;
- char str[20]="hello world!";
- };
- mydata dato ;
- void setup() {
- RS485Serial.begin(4800);
- 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("req");
- digitalWrite(13, HIGH);
- readSensor();
- }
- }
- }
- void readSensor(){
- digitalWrite(SSerialTxControl, RS485Transmit);
- RS485Serial.write((const uint8_t *)&dato, sizeof(struct mydata));
- RS485Serial.write((byte)'\n');
- dato.count++;
- // delay(20);
- digitalWrite(SSerialTxControl, RS485Receive);
- digitalWrite(13, LOW);
- Serial.print("dato.count"); Serial.println(dato.count);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement