Jeg har en Arduino som jeg har satt mellom en datamaskin og en RS485-enhet. Arduino-jobben er nå bare å overføre data, men vil til slutt gjøre datalogging og ha et lite brukergrensesnitt etter hvert som tiden går.
Så langt har denne serielle lesekoden fungert for meg å kommunisere til Arduino fra datamaskinen:
void serialEvent () {while (Serial.available ()) {// get new byte char inChar = (char) Serial.read (); hvis (inChar == '\ n') {stringComplete = true; } annet {inputstring + = inChar; }}}
Ulempen her er at jeg ikke kan sende '\ n' char til RS485-enheten min. Er det en måte jeg kan avgrense koden på, slik at jeg kan sende en vilkårlig streng med tegn mens jeg fremdeles har en avslutning [ting] for å slå på stringComplete-flagget?
EDIT For å avklare prosessen ved hvordan meldingen min er streng blir opprettet:
Input: U16 Address, U16 Data, U8 Function CodeU16 Address -> U8 Address Split High, U8 Address Split LowU16 Data -> U8 Data Split High, U8 Data Split LowU8 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 Message Streng