Initial commit
This commit is contained in:
47
Dilbert/Dilbert.ino
Normal file
47
Dilbert/Dilbert.ino
Normal file
@@ -0,0 +1,47 @@
|
||||
int DE_Pin = 4;
|
||||
int RE_Pin = 5;
|
||||
int IRQ_Pin = 1;
|
||||
char receivedMessage[64];
|
||||
int receivedMessageIndex = 0;
|
||||
|
||||
void send_data(const String data, const String answer) {
|
||||
data.replace("\r", "");
|
||||
data.replace("\n", "");
|
||||
Serial.println(data + answer);
|
||||
}
|
||||
|
||||
void handleIRQ() {
|
||||
detachInterrupt(digitalPinToInterrupt(irqPin));
|
||||
send_data("#7V","message")
|
||||
attachInterrupt(digitalPinToInterrupt(irqPin), handleIRQ, RISING);
|
||||
}
|
||||
|
||||
void get_message() {
|
||||
while (Serial.available()) {
|
||||
char receivedChar = Serial.read();
|
||||
if (receivedChar == '\n') {
|
||||
receivedMessage[receivedMessageIndex] = '\0'; // Null-terminate the string
|
||||
receivedMessageIndex = 0;
|
||||
if (strstr(receivedMessage, "#7V") != NULL) {
|
||||
send_data(receivedMessage, " ARDU_RS485_07-09-2023");
|
||||
} else {
|
||||
send_data(receivedMessage, "?");
|
||||
}
|
||||
} else {
|
||||
receivedMessage[receivedMessageIndex++] = receivedChar;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void setup() {
|
||||
pinMode(DE_Pin, OUTPUT);
|
||||
pinMode(RE_Pin, OUTPUT);
|
||||
digitalWrite(DE_Pin, 0);
|
||||
digitalWrite(RE_Pin, 1);
|
||||
Serial.println("Begin");
|
||||
attachInterrupt(digitalPinToInterrupt(irqPin), handleIRQ, RISING);
|
||||
}
|
||||
|
||||
void loop() {
|
||||
get_message();
|
||||
}
|
||||
Reference in New Issue
Block a user