They're both equivalent in terms of simplicity because they're both using the same idea: serializing data into smaller chunks. Your implementation looks visually simpler because it uses ASCII bytes as the serialization unit and so doesn't require bitwise manipulation. The trade-off is that it requires twice as many registers as my implementation. But that may be perfectly acceptable in your application. As always, the choice is entirely up to you. The point of my post wasn't to tell you what implementation to use, only to give you the idea of serializing the data across multiple registers.Converted decimals to asci I get "hello"
All I need is to convert decimal values to asci and construct a serial number. Isnt that much more simple than your previously suggested method?
From an architectural standpoint, I'd use a large fixed-size integer for the slave identifier (the serial) and avoid passing strings whenever possible. For example, if my app had a command register, I would define integer constants like CMD_START, CMD_STATUS, CMD_END in both the master and slave, and write/read those values to a single register, rather than sending strings such as "start" across multiple registers. But that's a personal preference.