Jeg har en Arduino, som jeg har sat mellem en computer og en RS485-enhed. Arduino's job er nu bare at overføre data, men vil til sidst foretage datalogning og have en lille brugergrænseflade, når tiden går.
Indtil videre har denne serielle læsekode fungeret for mig til at kommunikere til Arduino fra computeren:
void serialEvent () {while (Serial.available ()) {// get new byte char inChar = (char) Serial.read (); hvis (inChar == '\ n') {stringComplete = sand; } andet {inputstring + = inChar; }}}
Ulempen her er, at jeg ikke kan sende '\ n' char til min RS485-enhed. Er der en måde, hvorpå jeg kan forfine koden, så jeg kan sende en vilkårlig streng af tegn, mens jeg stadig har en afslutning [ting] for at slå strengComplete-flag til?
REDIGER For at afklare denne proces ved, hvordan min besked streng oprettes:
Input: U16-adresse, U16-data, U8-funktionskodeU16-adresse -> U8-adresse Opdel høj, U8-adresse Opdel lav U16 Data -> U8 Data opdel høj, U8-data opdeling lav U8 Array of [U8 Address Split High, U8 Address Split Low, U8 Data Split High, U8 Data Split Low, U8 Function Code] U8 Array -> Message StringOutput: Skriv meddelelsesstreng