

While(RS485Serial.available() & getdata!='d')īut by the sound of it i will need to get it into an array, so i will start reading up on arrays SoftwareSerial RS485Serial(SSerialRX, SSerialTX) ĭigitalWrite(SSerialTxControl, RS485Receive) ĭigitalWrite(SSerialTxControl, RS485Transmit) STX = startbit (serial monitor shows it as a square)ĮXT = endbit (serial monitor shows it as a square)Īs mentioned before, i just need the 3 values V,D and T.Ĭoming from the sensor it looks like this 00.1 022 +24.4 5E*48Īnd here is the complete code to help clarify. the response is then sent in the following format (taken from the manual) The data sent by the sensor, is sent after it receives a command to do so (10TR2). so i have no way of changing the sent data at the source. I have a sonic wind sensor that i am getting data from using an RS485 connection. parse the received message either use &message or use data variable data points to the 3rd element of the received message Below code also removes the BB at the end char message = "BBVV.V DDD SSS.S CCBB" Once you have an array, you can simply point to the 3rd element to skip the starting BB.
#Serial protocol stx etx how to
Although the examples in Serial Input Basics might not fully apply because BB also seems to be the end of the message, it will give you an idea how to save to an array. If it's indeed a single byte, you first want to collect a complete message before you apply strtok().
#Serial protocol stx etx full
May we assume that getdata is just a byte? Not posting full code makes it difficult to judge. What is the 'startbit' that you are referring to? BB? Slightly strange that BB is also the end of the message, but OK.
