TAIL485
-
hi all,
I'm reading a serial machine data out , on ATOM, with this RS422/TTL YL-128 adaptor
datasheetwith this code
void setup() { Serial.begin(115200); delay(1000); // speed, mode, rx, tx Serial2.begin(9600, SERIAL_8N1, 26, 32); delay(1000); void loop() { recvBytesWithStartEndMarkers(); showNewData(); } void recvBytesWithStartEndMarkers() { static boolean recvInProgress = false; static byte ndx = 0; byte startMarker = 0x7C; // "|" byte endMarker = 0x0A; // (LF) "/n" // byte startMarker = 0x0A; // "/n" // byte endMarker = 0x0D; // (CR) "/r" byte rb; while (Serial2.available() > 0 && newData == false) { rb = Serial2.read(); if (recvInProgress == true) { if (rb != endMarker) { receivedBytes[ndx] = rb; ndx++; if (ndx >= numBytes) { ndx = numBytes - 1; } } else { receivedBytes[ndx] = '\0'; // terminate the string recvInProgress = false; numReceived = ndx; // save the number for use when printing ndx = 0; newData = true; } } else if (rb == startMarker) { recvInProgress = true; } } } void showNewData() { if (newData == true) { // Serial.print(" ... HEX Value.. "); for (byte n = 0; n < numReceived; n++) { Serial.print(receivedBytes[n], HEX); Serial.print(' '); if (receivedBytes[numReceived - 3] == 0x36 && receivedBytes[numReceived - 6] == 0x30) { unit = 0; // CM ARRI 60 } if (receivedBytes[numReceived - 3] == 0x37 && receivedBytes[numReceived - 6] == 0x30) { unit = 1; //FT ARRI 70 } if (unit == 0 && receivedBytes[numReceived - 6] == 0x31) { cm = receivedBytes[numReceived - 4] * 100 + receivedBytes[numReceived - 3] * 10 + receivedBytes[numReceived - 2]; } if (unit == 1 && receivedBytes[numReceived - 6] == 0x31) { ft = receivedBytes[numReceived - 5] * 10 + receivedBytes[numReceived - 4]; inc = receivedBytes[numReceived - 3] * 10 + receivedBytes[numReceived - 2]; } } Serial.println(); Serial.print ("cm "); Serial.println (cm); Serial.print ("ft "); Serial.println (ft); Serial.print ("inc "); Serial.println (inc); newData = false; } }
and this connections:
machine----------------------------- RS422/TTL
grd ------------------------------------ A ............. Y-----NC
sgl ------------------------------------- B ............. Z----NC
12V ----- +12vRS422/TTL ---------- ATOM
TX ---------------------- RX
RX -----------------------TX
5V ---------------------- 5V
GRD -------------------- GRDthe newbie question is:
can I use instead RS485 module based on SP485EEN-L ??
tnks a lot
-
nobody?
-
The RS422 module you are using is not compatible with our RS485
-
@m5stack Hello!
I would like to know to which bronchi pins A and B of the RS485 extension card are connected to the BUS, please.
I can't get my M5 to communicate via RS485, however I soldered the small expansion card well.
For my program I am using an ESP32 based Arduino library for the Modbus RTU