GeislingerProject/ESP32/esp32Serial/esp32Serial.ino

67 lines
1.6 KiB
Arduino
Raw Normal View History

2024-07-02 10:42:04 +00:00
/*
* This ESP32 code is created by esp32io.com
*
* This ESP32 code is released in the public domain
*
* For more detail (instruction and wiring diagram), visit https://esp32io.com/tutorials/esp32-rs232
*/
//########################
char hexValues[] = "1B74";
// Länge des Hexadezimal-Arrays berechnen
int lengthHexArray = sizeof(hexValues) - 1;
//es würde auch funktionieren, wenn man als Länge 2 einfügt, dann printed er in der Konsole nur ein N
//char asciiVal[lengthHexArray / 2 + 1] = {(char) 0x1B, (char) 0x70}; //70 ist Print - 74 ist tare
char asciiVal_read[3] = {(char) 0x1B, (char) 0x70}; //70 ist Print
char asciiVal_tare[3] = {(char) 0x1B, (char) 0x74}; //74 ist tare
void setup() {
// start communication with baud rate 9600
Serial.begin(9600); // Serial Monitor
Serial2.begin(9600); // RS232
// wait a moment to allow serial ports to initialize
delay(100);
//
// Beispiel-Hexadezimalwerte
}
void loop() {
//Serial.println(asciiVal);
//char pcData = Serial.read();
String pcData = Serial.readStringUntil('\n');
// abhängig davon, was vom PC empfangen wird, wird der entsprechende Befehl zur Waage geschickt
if(pcData == "tare"){
Serial2.write(asciiVal_tare);
} else if(pcData == "getWeight"){
Serial2.write(asciiVal_read);
}
pcData == "";
//Serial2.write(asciiVal_read);
// Check if there's data available on Serial
if (Serial2.available()) {
//char data = Serial2.read(); // read the received character
String data = Serial2.readStringUntil('\n'); // read the received character
data = data + "\n";
Serial.write(data.c_str());
}
}